Skip to content

Commit b125720

Browse files
committed
Rough draft of removing jars from the plugin and downloading the required jars at runtime
1 parent 8d27ec0 commit b125720

17 files changed

+304
-505
lines changed

.run/Run Plugin.run.xml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Run Plugin" type="GradleRunConfiguration" factoryName="Gradle">
3+
<log_file alias="IDE logs" path="$PROJECT_DIR$/build/idea-sandbox/*/log/idea.log" show_all="true" />
4+
<ExternalSystemSettings>
5+
<option name="executionName" />
6+
<option name="externalProjectPath" value="$PROJECT_DIR$" />
7+
<option name="externalSystemIdString" value="GRADLE" />
8+
<option name="scriptParameters" value="" />
9+
<option name="taskDescriptions">
10+
<list />
11+
</option>
12+
<option name="taskNames">
13+
<list>
14+
<option value="runIde" />
15+
</list>
16+
</option>
17+
<option name="vmOptions" value="" />
18+
</ExternalSystemSettings>
19+
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
20+
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
21+
<DebugAllEnabled>false</DebugAllEnabled>
22+
<RunAsTest>false</RunAsTest>
23+
<method v="2" />
24+
</configuration>
25+
</component>

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ tasks {
5353
// }
5454

5555
withType<VerifyPluginTask> {
56-
dependsOn(copyClassesToSandbox, copyCheckstyleArtifactsToSandbox)
56+
dependsOn(copyClassesToSandbox)
5757
}
5858

5959
withType<Test> {

buildSrc/src/main/java/org/infernus/idea/checkstyle/build/CheckstyleVersions.java

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,11 @@ public class CheckstyleVersions {
2121
private static final String PROP_FILE = "src/main/resources/checkstyle-idea.properties";
2222

2323
private static final String PROP_VERSIONS_SUPPORTED = "checkstyle.versions.supported";
24-
private static final String PROP_DEPENDENCY_MAP = "checkstyle.dependencies.map";
2524
private static final String PROP_NAME_BASEVERSION = "baseVersion";
2625

2726
private final File propertyFile;
2827

2928
private final SortedSet<String> versions;
30-
private final Map<String, String> dependencyMappings;
3129

3230
private final String baseVersion;
3331

@@ -37,7 +35,6 @@ public CheckstyleVersions(final Project project) {
3735
final Properties properties = readProperties();
3836
versions = buildVersionSet(properties);
3937
baseVersion = readBaseVersion(properties);
40-
dependencyMappings = readDependencyMap(properties);
4138
}
4239

4340
private SortedSet<String> buildVersionSet(final Properties properties) {
@@ -89,22 +86,6 @@ private String readBaseVersion(final Properties properties) {
8986
return baseVersionValue;
9087
}
9188

92-
private Map<String, String> readDependencyMap(final Properties properties) {
93-
final String propertyValue = properties.getProperty(PROP_DEPENDENCY_MAP);
94-
if (propertyValue == null || propertyValue.trim().isEmpty()) {
95-
return Collections.emptyMap();
96-
}
97-
98-
final Map<String, String> mappings = new HashMap<>();
99-
for (final String mapping : propertyValue.trim().split("\\s*,\\s*")) {
100-
if (!mapping.isEmpty()) {
101-
final String[] oldDependencyToNewDependency = parseKeyValueMapping(mapping);
102-
mappings.put(oldDependencyToNewDependency[0], oldDependencyToNewDependency[1]);
103-
}
104-
}
105-
return Collections.unmodifiableMap(mappings);
106-
}
107-
10889
public File getPropertyFile() {
10990
return propertyFile;
11091
}
@@ -130,17 +111,4 @@ public static Dependency createCheckstyleDependency(final Project project, final
130111
csDep.exclude(ex);
131112
return csDep;
132113
}
133-
134-
private String[] parseKeyValueMapping(final String mapping) {
135-
final String[] kv = mapping.split("\\s*->\\s*");
136-
if (kv.length != 2) {
137-
throw new GradleException("Internal error: Property '" + CheckstyleVersions.PROP_DEPENDENCY_MAP
138-
+ "' contains invalid mapping '" + mapping + "'");
139-
}
140-
return kv;
141-
}
142-
143-
public Map<String, String> getDependencyMappings() {
144-
return dependencyMappings;
145-
}
146114
}

buildSrc/src/main/java/org/infernus/idea/checkstyle/build/GatherCheckstyleArtifactsTask.java

Lines changed: 0 additions & 143 deletions
This file was deleted.

buildSrc/src/main/java/org/infernus/idea/checkstyle/build/GradlePluginMain.java

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.gradle.api.plugins.JavaPluginExtension;
1212
import org.gradle.api.tasks.Copy;
1313
import org.gradle.api.tasks.SourceSet;
14-
import org.gradle.api.tasks.SourceSetContainer;
1514
import org.gradle.api.tasks.TaskContainer;
1615
import org.gradle.api.tasks.TaskProvider;
1716
import org.gradle.api.tasks.testing.Test;
@@ -25,7 +24,6 @@
2524
* The main plugin class. The action starts here.
2625
*/
2726
public class GradlePluginMain implements Plugin<Project> {
28-
public static final String CSLIB_TARGET_SUBFOLDER = "checkstyle/lib";
2927
private static final String CSCLASSES_TARGET_SUBFOLDER = "checkstyle/classes";
3028

3129
private CheckstyleVersions supportedCsVersions = null;
@@ -99,49 +97,10 @@ private void createCrossCheckTasks(final Project project) {
9997
}
10098

10199
private void createCheckstyleArtifactTasks(final Project project) {
102-
TaskProvider<GatherCheckstyleArtifactsTask> taskProvider =
103-
project.getTasks().register(GatherCheckstyleArtifactsTask.NAME, GatherCheckstyleArtifactsTask.class);
104-
taskProvider.configure((GatherCheckstyleArtifactsTask task) -> {
105-
project.getTasks().getByName(JavaPlugin.PROCESS_RESOURCES_TASK_NAME).dependsOn(task);
106-
107-
// Add generated classpath info file to resources
108-
SourceSetContainer sourceSets = (SourceSetContainer) project.getProperties().get("sourceSets");
109-
SourceSet mainSourceSet = sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
110-
mainSourceSet.getResources().srcDir(task.getClassPathsInfoFile().getParentFile());
111-
});
112-
113-
createCopyCheckstyleArtifactsToSandboxTask(project, false);
114-
createCopyCheckstyleArtifactsToSandboxTask(project, true);
115-
116100
createCopyClassesToSandboxTask(project, false);
117101
createCopyClassesToSandboxTask(project, true);
118102
}
119103

120-
private void createCopyCheckstyleArtifactsToSandboxTask(final Project project, final boolean test) {
121-
final TaskContainer tasks = project.getTasks();
122-
final String taskName = test ? "copyCheckstyleArtifactsToTestSandbox" : "copyCheckstyleArtifactsToSandbox";
123-
final TaskProvider<Copy> taskProvider = tasks.register(taskName, Copy.class);
124-
taskProvider.configure((Copy copyTask) -> {
125-
copyTask.setGroup("intellij");
126-
copyTask.setDescription("Adds the gathered Checkstyle artifacts to the prepared "
127-
+ (test ? "test " : "") + "sandbox");
128-
129-
final GatherCheckstyleArtifactsTask gatherTask =
130-
(GatherCheckstyleArtifactsTask) tasks.getByName(GatherCheckstyleArtifactsTask.NAME);
131-
copyTask.dependsOn(gatherTask, "prepareTestSandbox");
132-
if (test) {
133-
tasks.getByName(JavaPlugin.TEST_TASK_NAME).dependsOn(copyTask);
134-
tasks.getByName(CsaccessTestTask.NAME).dependsOn(copyTask);
135-
forEachXTest(tasks, xTask -> xTask.dependsOn(copyTask));
136-
} else {
137-
tasks.getByName("buildSearchableOptions").dependsOn(copyTask);
138-
}
139-
140-
copyTask.from(gatherTask.getBundledJarsDir());
141-
copyTask.into(new File(project.getLayout().getBuildDirectory().getAsFile().get(), pluginSandboxDir(test, CSLIB_TARGET_SUBFOLDER)));
142-
});
143-
}
144-
145104
private void forEachXTest(final TaskContainer tasks, final Consumer<Task> taskConsumer) {
146105
supportedCsVersions.getVersions().forEach((final String csVersion) -> {
147106
if (!supportedCsVersions.getBaseVersion().equals(csVersion)) {
@@ -174,10 +133,8 @@ private void createCopyClassesToSandboxTask(final Project project, final boolean
174133
tasks.getByName(JavaPlugin.TEST_TASK_NAME).dependsOn(copyTask);
175134
tasks.getByName(CsaccessTestTask.NAME).dependsOn(copyTask);
176135
forEachXTest(tasks, xTask -> xTask.dependsOn(copyTask));
177-
copyTask.mustRunAfter(tasks.getByName("copyCheckstyleArtifactsToTestSandbox"));
178136
} else {
179137
tasks.getByName("buildSearchableOptions").dependsOn(copyTask);
180-
copyTask.mustRunAfter(tasks.getByName("copyCheckstyleArtifactsToSandbox"));
181138
}
182139

183140
copyTask.from(csaccessSourceSet.getOutput());
@@ -201,13 +158,10 @@ private void wireIntellijPluginTasks(final Project project) {
201158
final TaskContainer tasks = project.getTasks();
202159
tasks.all((Task task) -> {
203160
if ("buildPlugin".equals(task.getName()) || "runIdea".equals(task.getName()) || "runIde".equals(task.getName())) {
204-
task.dependsOn(tasks.getByName("copyCheckstyleArtifactsToSandbox"));
205161
task.dependsOn(tasks.getByName("copyClassesToSandbox"));
206162
} else if ("prepareSandbox".equals(task.getName())) {
207-
tasks.getByName("copyCheckstyleArtifactsToSandbox").dependsOn(task);
208163
tasks.getByName("copyClassesToSandbox").dependsOn(task);
209164
} else if ("prepareTestsSandbox".equals(task.getName())) {
210-
tasks.getByName("copyCheckstyleArtifactsToTestSandbox").dependsOn(task);
211165
tasks.getByName("copyClassesToTestSandbox").dependsOn(task);
212166
}
213167
});

buildSrc/src/main/java/org/infernus/idea/checkstyle/build/SortedProperties.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)