aboutsummaryrefslogtreecommitdiff
path: root/src/installer/lombok
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2021-03-16 17:09:13 +0100
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2021-03-16 17:09:13 +0100
commit476a43b970b01eafcc053eead69db57a0ab854cf (patch)
tree5055f27404a968952129ee493bbf4f572655f2a6 /src/installer/lombok
parenta49aec582b129687cee7d2c87b586a20bceb0c43 (diff)
downloadlombok-476a43b970b01eafcc053eead69db57a0ab854cf.tar.gz
lombok-476a43b970b01eafcc053eead69db57a0ab854cf.tar.bz2
lombok-476a43b970b01eafcc053eead69db57a0ab854cf.zip
[build] sped up the build considerable.
We used to use the mango SPI processor, but this had two major issues: * ecj wouldn't run annotation processors, requiring a separate proc:only compile run with javac * mangoSPI couldn't do incremental compilation, so this required a full rebuild just to generate SPI files, every time. Addressed by updating to IPP40 which does support explicit annotation processors even for ecj, and adding our own SPI generating annotation processor to the build which can deal with incrementals. There are some limits; removing a `@Provides` annotation on an existing type will need a full clean to pick that up, for example. These limits seem quite exotic, though.
Diffstat (limited to 'src/installer/lombok')
-rw-r--r--src/installer/lombok/installer/Installer.java11
-rw-r--r--src/installer/lombok/installer/eclipse/AngularIDELocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/EclipseLocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/JbdsLocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/RhcrLocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/RhdsLocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/STS4LocationProvider.java7
-rw-r--r--src/installer/lombok/installer/eclipse/STSLocationProvider.java7
9 files changed, 29 insertions, 38 deletions
diff --git a/src/installer/lombok/installer/Installer.java b/src/installer/lombok/installer/Installer.java
index 94cc1a45..1ca77065 100644
--- a/src/installer/lombok/installer/Installer.java
+++ b/src/installer/lombok/installer/Installer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2016 The Project Lombok Authors.
+ * Copyright (C) 2009-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -40,8 +40,7 @@ import lombok.core.SpiLoadUtil;
import lombok.core.Version;
import lombok.installer.OsUtils.OS;
import lombok.patcher.ClassRootFinder;
-
-import org.mangosdk.spi.ProviderFor;
+import lombok.spi.Provides;
import com.zwitserloot.cmdreader.CmdReader;
import com.zwitserloot.cmdreader.Description;
@@ -105,7 +104,7 @@ public class Installer {
return a.equals(b);
}
- @ProviderFor(LombokApp.class)
+ @Provides
public static class GraphicalInstallerApp extends LombokApp {
@Override public String getAppName() {
return "installer";
@@ -124,7 +123,7 @@ public class Installer {
}
}
- @ProviderFor(LombokApp.class)
+ @Provides
public static class CommandLineInstallerApp extends LombokApp {
@Override public String getAppName() {
return "install";
@@ -139,7 +138,7 @@ public class Installer {
}
}
- @ProviderFor(LombokApp.class)
+ @Provides
public static class CommandLineUninstallerApp extends LombokApp {
@Override public String getAppName() {
return "uninstall";
diff --git a/src/installer/lombok/installer/eclipse/AngularIDELocationProvider.java b/src/installer/lombok/installer/eclipse/AngularIDELocationProvider.java
index 6d580e13..0f0aac0d 100644
--- a/src/installer/lombok/installer/eclipse/AngularIDELocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/AngularIDELocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 The Project Lombok Authors.
+ * Copyright (C) 2018-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -23,11 +23,10 @@ package lombok.installer.eclipse;
import java.util.Collections;
-import org.mangosdk.spi.ProviderFor;
-
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class AngularIDELocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor ANGULAR = new StandardProductDescriptor(
diff --git a/src/installer/lombok/installer/eclipse/EclipseLocationProvider.java b/src/installer/lombok/installer/eclipse/EclipseLocationProvider.java
index fa2ce958..317c95cb 100644
--- a/src/installer/lombok/installer/eclipse/EclipseLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/EclipseLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2016 The Project Lombok Authors.
+ * Copyright (C) 2009-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class EclipseLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor ECLIPSE = new StandardProductDescriptor(
diff --git a/src/installer/lombok/installer/eclipse/JbdsLocationProvider.java b/src/installer/lombok/installer/eclipse/JbdsLocationProvider.java
index 635f304a..75805f21 100644
--- a/src/installer/lombok/installer/eclipse/JbdsLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/JbdsLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 The Project Lombok Authors.
+ * Copyright (C) 2013-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class JbdsLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor JBDS = new StandardProductDescriptor(
diff --git a/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java b/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java
index 298cabd6..e923202d 100644
--- a/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/MyEclipseLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2016 The Project Lombok Authors.
+ * Copyright (C) 2016-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class MyEclipseLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor MY_ECLIPSE = new StandardProductDescriptor(
diff --git a/src/installer/lombok/installer/eclipse/RhcrLocationProvider.java b/src/installer/lombok/installer/eclipse/RhcrLocationProvider.java
index d4f39f3b..0731d5bd 100644
--- a/src/installer/lombok/installer/eclipse/RhcrLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/RhcrLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 The Project Lombok Authors.
+ * Copyright (C) 2020-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class RhcrLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor RHCR = new StandardProductDescriptor(
"Red Hat CodeReady Studio",
diff --git a/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java b/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java
index 5e1d303d..030b96bb 100644
--- a/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/RhdsLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2016 The Project Lombok Authors.
+ * Copyright (C) 2013-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class RhdsLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor RHDS = new StandardProductDescriptor(
diff --git a/src/installer/lombok/installer/eclipse/STS4LocationProvider.java b/src/installer/lombok/installer/eclipse/STS4LocationProvider.java
index 47a07bdd..068ec6e9 100644
--- a/src/installer/lombok/installer/eclipse/STS4LocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/STS4LocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2018 The Project Lombok Authors.
+ * Copyright (C) 2018-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -25,10 +25,9 @@ import java.util.Arrays;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class STS4LocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor STS4 = new StandardProductDescriptor("Spring Tools Suite 4",
diff --git a/src/installer/lombok/installer/eclipse/STSLocationProvider.java b/src/installer/lombok/installer/eclipse/STSLocationProvider.java
index d2efb956..7c42cf62 100644
--- a/src/installer/lombok/installer/eclipse/STSLocationProvider.java
+++ b/src/installer/lombok/installer/eclipse/STSLocationProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2016 The Project Lombok Authors.
+ * Copyright (C) 2009-2021 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,10 +24,9 @@ package lombok.installer.eclipse;
import java.util.Collections;
import lombok.installer.IdeLocationProvider;
+import lombok.spi.Provides;
-import org.mangosdk.spi.ProviderFor;
-
-@ProviderFor(IdeLocationProvider.class)
+@Provides(IdeLocationProvider.class)
public class STSLocationProvider extends EclipseProductLocationProvider {
private static final EclipseProductDescriptor STS = new StandardProductDescriptor("STS",