Compare commits

...

7 commits

Author SHA1 Message Date
Geert Bevin 6f54789dd9
Merge pull request #65 from Xasmedy/main
Some checks are pending
bld-ci / build-linux (17) (push) Waiting to run
bld-ci / build-linux (20) (push) Waiting to run
bld-ci / build-linux (21) (push) Waiting to run
bld-ci / build-linux (22) (push) Waiting to run
bld-ci / build-macos (17) (push) Waiting to run
bld-ci / build-macos (20) (push) Waiting to run
bld-ci / build-macos (21) (push) Waiting to run
bld-ci / build-macos (22) (push) Waiting to run
bld-ci / build-windows (17) (push) Waiting to run
bld-ci / build-windows (20) (push) Waiting to run
bld-ci / build-windows (21) (push) Waiting to run
bld-ci / build-windows (22) (push) Waiting to run
javadocs-pages / deploy (push) Waiting to run
Fixed missing main-class when running a modular application.
2025-11-16 11:17:30 -05:00
Geert Bevin 82fe6a3aa4
Merge pull request #71 from ethauvin/main
Log missing files when compiling or running
2025-11-16 11:16:54 -05:00
Geert Bevin 52e8a6ce6a Test fixes 2025-11-16 11:16:05 -05:00
Erik C. Thauvin f33108a3f0
Log missing main class or module when running. Closes #69 2025-11-14 20:52:59 -08:00
Erik C. Thauvin f4db05581b
Log missing source files when compiling. Closes #66 2025-11-14 20:49:00 -08:00
Erik C. Thauvin ba1dad4eb3
2.3.1-SNAPSHOT 2025-11-14 20:48:53 -08:00
xasmedy 82705b952b Fixed missing main-class when running a modular application.
The `RunOperation` is using the java `-m` flag to run the modular application, but it did not provide the required main-class as of documentation `-m <module>[/<mainclass>] [args...]`.
2025-11-13 00:13:20 +01:00
5 changed files with 64 additions and 47 deletions

View file

@ -87,11 +87,18 @@ public class CompileOperation extends AbstractOperation<CompileOperation> {
for (var directory : mainSourceDirectories()) {
sources.addAll(FileUtils.getJavaFileList(directory));
}
executeBuildSources(
compileMainClasspath(),
compileMainModulePath(),
sources,
buildMainDirectory());
if (sources.isEmpty()) {
if (!silent()) {
System.err.println("No main source files found.");
}
} else {
executeBuildSources(
compileMainClasspath(),
compileMainModulePath(),
sources,
buildMainDirectory());
}
}
/**
@ -105,11 +112,18 @@ public class CompileOperation extends AbstractOperation<CompileOperation> {
for (var directory : testSourceDirectories()) {
sources.addAll(FileUtils.getJavaFileList(directory));
}
executeBuildSources(
compileTestClasspath(),
compileTestModulePath(),
sources,
buildTestDirectory());
if (sources.isEmpty()) {
if (!silent()) {
System.err.println("No test source files found.");
}
} else {
executeBuildSources(
compileTestClasspath(),
compileTestModulePath(),
sources,
buildTestDirectory());
}
}
/**

View file

@ -42,16 +42,17 @@ public class RunOperation extends AbstractProcessOperation<RunOperation> {
args.add(FileUtils.joinPaths(modulePath()));
}
if (module() != null && !module().isEmpty()) {
args.add("-m");
args.add(module());
if (mainClass() != null && !mainClass().isEmpty()) {
if (module() != null && !module().isEmpty()) {
args.add("-m");
args.add(module() + "/" + mainClass());
} else args.add(mainClass());
}
else if (mainClass() != null && !mainClass().isEmpty()){
args.add(mainClass());
else if (!silent()) {
System.err.println("No main class or module specified.");
}
args.addAll(runOptions());
return args;
}

View file

@ -1 +1 @@
2.3.0
2.3.1-SNAPSHOT

View file

@ -331,15 +331,17 @@ public class TestDependencyResolver {
@Test
void testGetCompileRuntimeDependenciesBitly() {
var resolver = new DependencyResolver(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY), new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(0, 9, 4, "SNAPSHOT")));
var resolver = new DependencyResolver(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS), new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(2, 0, 0)));
var dependencies = resolver.getDirectDependencies(compile, runtime);
assertNotNull(dependencies);
assertEquals(4, dependencies.size());
assertEquals(6, dependencies.size());
assertEquals("""
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
com.squareup.okhttp3:okhttp:4.11.0
com.squareup.okhttp3:logging-interceptor:4.11.0
org.json:json:20230618""", StringUtils.join(dependencies, "\n"));
org.jetbrains.kotlin:kotlin-stdlib:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.10
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okhttp3:logging-interceptor:4.12.0
org.json:json:20250107""", StringUtils.join(dependencies, "\n"));
}
@Test
@ -702,22 +704,22 @@ public class TestDependencyResolver {
@Test
void testGetCompileRuntimeTransitiveDependenciesBitly() {
var resolver = new DependencyResolver(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY), new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(0, 9, 4, "SNAPSHOT")));
var resolver = new DependencyResolver(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS), new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(2, 0, 0)));
var dependencies = resolver.getAllDependencies(compile, runtime);
assertNotNull(dependencies);
assertEquals(11, dependencies.size());
assertEquals("""
net.thauvin.erik:bitly-shorten:0.9.4-SNAPSHOT
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
com.squareup.okhttp3:okhttp:4.11.0
com.squareup.okhttp3:logging-interceptor:4.11.0
org.json:json:20230618
org.jetbrains.kotlin:kotlin-stdlib:1.8.22
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22
com.squareup.okio:okio:3.2.0
org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22
net.thauvin.erik:bitly-shorten:2.0.0
org.jetbrains.kotlin:kotlin-stdlib:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.10
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okhttp3:logging-interceptor:4.12.0
org.json:json:20250107
org.jetbrains:annotations:13.0
com.squareup.okio:okio-jvm:3.2.0""", StringUtils.join(dependencies, "\n"));
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.10
com.squareup.okio:okio:3.6.0
com.squareup.okio:okio-jvm:3.6.0""", StringUtils.join(dependencies, "\n"));
}
@Test

View file

@ -359,19 +359,19 @@ public class TestDependencySet {
@Test
void testGenerateDependencyTreeCompileRuntime() {
var dependencies = new DependencySet()
.include(new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(0, 9, 4, "SNAPSHOT")));
.include(new Dependency("net.thauvin.erik", "bitly-shorten", new VersionNumber(2, 0, 0)));
assertEquals(StringUtils.convertLineSeparator("""
net.thauvin.erik:bitly-shorten:0.9.4-SNAPSHOT
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
org.jetbrains.kotlin:kotlin-stdlib:1.8.22
org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22
org.jetbrains:annotations:13.0
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.22
com.squareup.okhttp3:okhttp:4.11.0
com.squareup.okio:okio:3.2.0
com.squareup.okio:okio-jvm:3.2.0
com.squareup.okhttp3:logging-interceptor:4.11.0
org.json:json:20230618
"""), dependencies.generateTransitiveDependencyTree(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS_LEGACY), compile, runtime));
net.thauvin.erik:bitly-shorten:2.0.0
org.jetbrains.kotlin:kotlin-stdlib:2.1.10
org.jetbrains:annotations:13.0
org.jetbrains.kotlin:kotlin-stdlib-common:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.10
org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.10
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio:3.6.0
com.squareup.okio:okio-jvm:3.6.0
com.squareup.okhttp3:logging-interceptor:4.12.0
org.json:json:20250107
"""), dependencies.generateTransitiveDependencyTree(VersionResolution.dummy(), ArtifactRetriever.instance(), List.of(MAVEN_CENTRAL, SONATYPE_SNAPSHOTS), compile, runtime));
}
}