Skip to content

Commit f2f3ee9

Browse files
committed
Added autoversioning to gradle build. Setting version number to 1.0.0.
Signed-off-by: Rahul Krishna <[email protected]>
1 parent 7a7a2bb commit f2f3ee9

22 files changed

+63
-61
lines changed

build.gradle

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ plugins {
1818
id 'org.graalvm.buildtools.native' version '0.9.28'
1919
}
2020

21+
// Get the version from the property file first
22+
version = new Properties().with {property ->
23+
file("gradle.properties").withInputStream {property.load(it)}
24+
property.getProperty("version")
25+
}
26+
2127
repositories {
2228
mavenCentral()
2329
mavenLocal()
@@ -28,7 +34,7 @@ if (project.hasProperty('mainClass')) {
2834
mainClassName = project.getProperty('mainClass')
2935
} else {
3036
// use a default
31-
mainClassName =("com.ibm.northstar.CodeAnalyzer")
37+
mainClassName =("com.ibm.cldk.CodeAnalyzer")
3238
}
3339

3440
sourceSets {
@@ -122,9 +128,9 @@ task fatJar(type: Jar) {
122128
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
123129
manifest {
124130
attributes(
125-
'Implementation-Title': 'Northstar Codeanalyzer',
131+
'Implementation-Title': 'codeanalyzer',
126132
'Implementation-Version': project.version,
127-
'Main-Class': 'com.ibm.northstar.CodeAnalyzer'
133+
'Main-Class': 'com.ibm.cldk.CodeAnalyzer'
128134
)
129135
}
130136

@@ -146,7 +152,7 @@ graalvmNative {
146152
binaries {
147153
main {
148154
imageName = "codeanalyzer"
149-
mainClass = "com.ibm.northstar.CodeAnalyzer"
155+
mainClass = "com.ibm.cldk.CodeAnalyzer"
150156
buildArgs.add("-Ob")
151157
buildArgs.add("-march=compatibility")
152158
buildArgs.add("--no-fallback")
@@ -183,7 +189,7 @@ task createRelease {
183189
doLast {
184190
def releaseTitle = 'latest'
185191
def hostName = '[email protected]'
186-
def repo = 'northstar/codeanalyzer'
192+
def repo = 'cldk/codeanalyzer'
187193

188194
// Command to create release
189195
def delete = "gh release delete latest --cleanup-tag --yes -R ${hostName}:${repo}"//

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version=0.1.0
1+
version=1.0.0

src/main/java/com/ibm/northstar/CodeAnalyzer.java renamed to src/main/java/com/ibm/cldk/CodeAnalyzer.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111
limitations under the License.
1212
*/
1313

14-
package com.ibm.northstar;
14+
package com.ibm.cldk;
1515

1616
import com.github.javaparser.Problem;
1717
import com.google.common.reflect.TypeToken;
1818
import com.google.gson.*;
19-
import com.ibm.northstar.entities.JavaCompilationUnit;
20-
import com.ibm.northstar.utils.BuildProject;
21-
import com.ibm.northstar.utils.Log;
19+
import com.ibm.cldk.entities.JavaCompilationUnit;
20+
import com.ibm.cldk.utils.BuildProject;
21+
import com.ibm.cldk.utils.Log;
2222
import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException;
2323
import com.ibm.wala.ipa.cha.ClassHierarchyException;
2424
import org.apache.commons.lang3.tuple.Pair;
@@ -38,10 +38,17 @@
3838
import java.util.Map;
3939
import java.util.stream.Collectors;
4040

41+
42+
class VersionProvider implements CommandLine.IVersionProvider {
43+
public String[] getVersion() throws Exception {
44+
String version = getClass().getPackage().getImplementationVersion();
45+
return new String[]{ "codeanalyzer " + (version != null ? version : "unknown") };
46+
}
47+
}
4148
/**
4249
* The type Code analyzer.
4350
*/
44-
@Command(name = "codeanalyzer", mixinStandardHelpOptions = true, sortOptions = false, version = "codeanalyzer v1.1", description = "Convert java binary into a comprehensive system dependency graph.")
51+
@Command(name = "codeanalyzer", mixinStandardHelpOptions = true, sortOptions = false, versionProvider = VersionProvider.class, description = "Analyze java application.")
4552
public class CodeAnalyzer implements Runnable {
4653

4754
@Option(names = {"-i", "--input"}, description = "Path to the project root directory.")
@@ -62,6 +69,7 @@ public class CodeAnalyzer implements Runnable {
6269
@Option(names = {"--no-build"}, description = "Do not build your application. Use this option if you have already built your application.")
6370
private static boolean noBuild = false;
6471

72+
6573
@Option(names = {"-a", "--analysis-level"}, description = "Level of analysis to perform. Options: 1 (for just symbol table) or 2 (for call graph). Default: 1")
6674
private static int analysisLevel = 1;
6775

@@ -70,7 +78,6 @@ public class CodeAnalyzer implements Runnable {
7078

7179
private static final String outputFileName = "analysis.json";
7280

73-
7481
public static Gson gson = new GsonBuilder()
7582
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
7683
.setPrettyPrinting()

src/main/java/com/ibm/northstar/SymbolTable.java renamed to src/main/java/com/ibm/cldk/SymbolTable.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ibm.northstar;
1+
package com.ibm.cldk;
22

33
import com.github.javaparser.JavaParser;
44
import com.github.javaparser.ParseResult;
@@ -23,8 +23,8 @@
2323
import com.github.javaparser.utils.SourceRoot;
2424
import com.google.common.collect.Table;
2525
import com.google.common.collect.Tables;
26-
import com.ibm.northstar.entities.*;
27-
import com.ibm.northstar.utils.Log;
26+
import com.ibm.cldk.entities.*;
27+
import com.ibm.cldk.utils.Log;
2828
import org.apache.commons.lang3.tuple.Pair;
2929

3030
import java.io.IOException;
@@ -106,7 +106,7 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
106106
.map(typeDecl -> {
107107
// get type name and initialize the type object
108108
String typeName = typeDecl.getFullyQualifiedName().get().toString();
109-
com.ibm.northstar.entities.Type typeNode = new com.ibm.northstar.entities.Type();
109+
com.ibm.cldk.entities.Type typeNode = new com.ibm.cldk.entities.Type();
110110

111111
if (typeDecl instanceof ClassOrInterfaceDeclaration) {
112112
ClassOrInterfaceDeclaration classDecl = (ClassOrInterfaceDeclaration)typeDecl;
@@ -156,7 +156,7 @@ private static JavaCompilationUnit processCompilationUnit(CompilationUnit parseR
156156
// TODO: handle AnnotationDeclaration, RecordDeclaration
157157
// set the common type attributes only
158158
Log.warn("Found unsupported type declaration: "+typeDecl.toString());
159-
typeNode = new com.ibm.northstar.entities.Type();
159+
typeNode = new com.ibm.cldk.entities.Type();
160160
}
161161

162162
/* set common attributes of types that available in type declarations:

src/main/java/com/ibm/northstar/SystemDependencyGraph.java renamed to src/main/java/com/ibm/cldk/SystemDependencyGraph.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
limitations under the License.
1212
*/
1313

14-
package com.ibm.northstar;
15-
16-
import com.ibm.northstar.entities.AbstractGraphEdge;
17-
import com.ibm.northstar.entities.CallEdge;
18-
import com.ibm.northstar.entities.Callable;
19-
import com.ibm.northstar.entities.SystemDepEdge;
20-
import com.ibm.northstar.utils.AnalysisUtils;
21-
import com.ibm.northstar.utils.Log;
22-
import com.ibm.northstar.utils.ScopeUtils;
14+
package com.ibm.cldk;
15+
16+
import com.ibm.cldk.entities.AbstractGraphEdge;
17+
import com.ibm.cldk.entities.CallEdge;
18+
import com.ibm.cldk.entities.Callable;
19+
import com.ibm.cldk.entities.SystemDepEdge;
20+
import com.ibm.cldk.utils.AnalysisUtils;
21+
import com.ibm.cldk.utils.Log;
22+
import com.ibm.cldk.utils.ScopeUtils;
2323
import com.ibm.wala.cast.ir.ssa.AstIRFactory;
2424
import com.ibm.wala.cast.java.translator.jdt.ecj.ECJClassLoaderFactory;
2525
import com.ibm.wala.classLoader.CallSiteReference;
@@ -52,8 +52,8 @@
5252
import java.util.function.BiFunction;
5353
import java.util.function.Supplier;
5454

55-
import static com.ibm.northstar.CodeAnalyzer.gson;
56-
import static com.ibm.northstar.utils.AnalysisUtils.*;
55+
import static com.ibm.cldk.CodeAnalyzer.gson;
56+
import static com.ibm.cldk.utils.AnalysisUtils.*;
5757

5858
/**
5959
* The type Sdg 2 json.

src/main/java/com/ibm/northstar/entities/AbstractGraphEdge.java renamed to src/main/java/com/ibm/cldk/entities/AbstractGraphEdge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
limitations under the License.
1212
*/
1313

14-
package com.ibm.northstar.entities;
14+
package com.ibm.cldk.entities;
1515

1616
import com.ibm.wala.ipa.callgraph.CGNode;
1717
import com.ibm.wala.ipa.slicer.Statement;

src/main/java/com/ibm/northstar/entities/CallEdge.java renamed to src/main/java/com/ibm/cldk/entities/CallEdge.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
limitations under the License.
1212
*/
1313

14-
package com.ibm.northstar.entities;
14+
package com.ibm.cldk.entities;
1515

1616
import org.jgrapht.nio.Attribute;
1717
import org.jgrapht.nio.DefaultAttribute;

src/main/java/com/ibm/northstar/entities/CallSite.java renamed to src/main/java/com/ibm/cldk/entities/CallSite.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ibm.northstar.entities;
1+
package com.ibm.cldk.entities;
22

33
import lombok.Data;
44

src/main/java/com/ibm/northstar/entities/Callable.java renamed to src/main/java/com/ibm/cldk/entities/Callable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ibm.northstar.entities;
1+
package com.ibm.cldk.entities;
22

33
import lombok.Data;
44

src/main/java/com/ibm/northstar/entities/EnumConstant.java renamed to src/main/java/com/ibm/cldk/entities/EnumConstant.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.ibm.northstar.entities;
1+
package com.ibm.cldk.entities;
22

33
import lombok.Data;
44

0 commit comments

Comments
 (0)