Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
128 changes: 64 additions & 64 deletions dgm-builder/pom.xml
Original file line number Diff line number Diff line change
@@ -1,73 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-cps-parent</artifactId>
<version>${changelist}</version>
</parent>
<parent>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-cps-parent</artifactId>
<version>${changelist}</version>
</parent>

<groupId>com.cloudbees</groupId>
<artifactId>groovy-cps-dgm-builder</artifactId>
<groupId>com.cloudbees</groupId>
<artifactId>groovy-cps-dgm-builder</artifactId>

<name>CpsDefaultGroovyMethods generator</name>
<name>CpsDefaultGroovyMethods generator</name>

<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.cloudbees.groovy.cps.tool.Driver</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>remoting</artifactId>
</dependency>
<dependency>
<groupId>org.kohsuke.codemodel</groupId>
<artifactId>codemodel</artifactId>
<version>2.7</version>
</dependency>
</dependencies>

<dependencies>
<dependency>
<groupId>org.kohsuke.codemodel</groupId>
<artifactId>codemodel</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>remoting</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<classifier>sources</classifier>
<version>${groovy.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
<configuration>
<archive>
<manifest>
<mainClass>com.cloudbees.groovy.cps.tool.Driver</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,19 @@
import com.sun.codemodel.writer.FileCodeWriter;
import groovy.lang.GroovyShell;
import hudson.remoting.Which;

import javax.tools.DiagnosticListener;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.StandardLocation;
import javax.tools.ToolProvider;
import java.io.File;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import javax.tools.DiagnosticListener;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.StandardLocation;
import javax.tools.ToolProvider;

public class Driver {
public static void main(String[] args) throws Exception {
Expand All @@ -27,20 +26,25 @@
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
DiagnosticListener<JavaFileObject> errorListener = createErrorListener();

try (StandardJavaFileManager fileManager = javac.getStandardFileManager(errorListener, Locale.getDefault(), Charset.defaultCharset())) {
fileManager.setLocation(StandardLocation.CLASS_PATH,
Set.of(Which.jarFile(GroovyShell.class)));
try (StandardJavaFileManager fileManager =
javac.getStandardFileManager(errorListener, Locale.getDefault(), Charset.defaultCharset())) {
fileManager.setLocation(StandardLocation.CLASS_PATH, Set.of(Which.jarFile(GroovyShell.class)));

File groovySrcJar = Which.jarFile(Driver.class.getClassLoader().getResource("groovy/lang/GroovyShell.java"));
File groovySrcJar =
Which.jarFile(Driver.class.getClassLoader().getResource("groovy/lang/GroovyShell.java"));

// classes to translate
// TODO include other classes mentioned in DefaultGroovyMethods.DGM_LIKE_CLASSES if they have any applicable methods
List<String> fileNames = List.of("DefaultGroovyMethods",
"DefaultGroovyStaticMethods",
"StringGroovyMethods");
// TODO include other classes mentioned in DefaultGroovyMethods.DGM_LIKE_CLASSES

Check warning on line 37 in dgm-builder/src/main/java/com/cloudbees/groovy/cps/tool/Driver.java

View check run for this annotation

ci.jenkins.io / Open Tasks Scanner

TODO

NORMAL: include other classes mentioned in DefaultGroovyMethods.DGM_LIKE_CLASSES
// if they have any applicable methods
List<String> fileNames =
List.of("DefaultGroovyMethods", "DefaultGroovyStaticMethods", "StringGroovyMethods");

List<JavaFileObject> src = new ArrayList<>();
for (JavaFileObject jfo : fileManager.list(StandardLocation.CLASS_PATH, "org.codehaus.groovy.runtime", Set.of(JavaFileObject.Kind.SOURCE), true)) {
for (JavaFileObject jfo : fileManager.list(
StandardLocation.CLASS_PATH,
"org.codehaus.groovy.runtime",
Set.of(JavaFileObject.Kind.SOURCE),
true)) {
for (String name : fileNames) {
if (jfo.toUri().toString().endsWith("/org/codehaus/groovy/runtime/" + name + ".java")) {
src.add(jfo);
Expand All @@ -60,12 +64,11 @@

for (String name : fileNames) {
t.translate(
"org.codehaus.groovy.runtime."+name,
"com.cloudbees.groovy.cps.Cps"+name,
"org.codehaus.groovy.runtime." + name,
"com.cloudbees.groovy.cps.Cps" + name,
groovySrcJar.getName());
}


Files.createDirectories(dir.toPath());
t.generateTo(new FileCodeWriter(dir));
}
Expand All @@ -74,5 +77,4 @@
private DiagnosticListener<JavaFileObject> createErrorListener() {
return System.out::println;
}

}
Loading
Loading