Skip to content

Commit b34dc41

Browse files
committed
Remove warning for version missing in catalog
- In more cases, a platform is the appropriate solution to also influence versions of transitive dependencies - We might add the option to use a properties file (#68) which makes it even more unclear if versions are expected in the catalog or not
1 parent 45cedca commit b34dc41

File tree

4 files changed

+8
-43
lines changed

4 files changed

+8
-43
lines changed

src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesExtension.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
* - Define dependencies and dependency constraints by Module Name
6565
* using {@link #ga(String)}, {@link #gav(String, String)} or {@link #gav(String)}
6666
*/
67+
@SuppressWarnings("unused")
6768
public abstract class JavaModuleDependenciesExtension {
6869
static final String JAVA_MODULE_DEPENDENCIES = "javaModuleDependencies";
6970

@@ -84,16 +85,17 @@ public abstract class JavaModuleDependenciesExtension {
8485
* name that corresponds to the artifact name and all have the group (e.g. 'com.example.product'), you can
8586
* register a mapping for all these Modules. and with that allow Gradle to map them correctly even if you
8687
* publish some of your Modules or use included builds.
87-
*
88+
* <p>
8889
* moduleNamePrefixToGroup.put("com.example.product.module.", "com.example.product")
8990
*
9091
* @return the mappings from 'Module Name Prefix' to 'group'
9192
*/
9293
public abstract MapProperty<String, String> getModuleNamePrefixToGroup();
9394

9495
/**
95-
* @return If a Version Catalog is used: print a WARN for missing versions (default is 'true')
96+
* @return no-op
9697
*/
98+
@Deprecated
9799
public abstract Property<Boolean> getWarnForMissingVersions();
98100

99101
/**
@@ -112,7 +114,6 @@ public abstract class JavaModuleDependenciesExtension {
112114
public JavaModuleDependenciesExtension(VersionCatalogsExtension versionCatalogs) {
113115
this.versionCatalogs = versionCatalogs;
114116
this.moduleInfoCache = getObjects().newInstance(ModuleInfoCache.class);
115-
getWarnForMissingVersions().convention(versionCatalogs != null);
116117
getVersionCatalogName().convention("libs");
117118
getAnalyseOnly().convention(false);
118119
getModuleNameToGA().putAll(SharedMappings.mappings);
@@ -208,9 +209,6 @@ public Provider<Dependency> create(String moduleName, SourceSet sourceSetWithMod
208209
if (capability != null) {
209210
dependency.capabilities(c -> c.requireCapability(capability));
210211
}
211-
if (!component.containsKey(GAV.VERSION)) {
212-
warnVersionMissing(moduleName, component, moduleInfo.getFilePath());
213-
}
214212
return dependency;
215213
} else {
216214
getProject().getLogger().lifecycle(
@@ -326,6 +324,7 @@ public void versionsFromConsistentResolution(String... versionsProvidingProjects
326324
});
327325
getConfigurations().configureEach(c -> {
328326
if (c.isCanBeResolved() && !c.isCanBeConsumed() && c != mainRuntimeClasspath) {
327+
//noinspection UnstableApiUsage
329328
c.shouldResolveConsistentlyWith(mainRuntimeClasspath);
330329
}
331330
});
@@ -408,13 +407,6 @@ private <T> Provider<T> errorIfNotFound(Provider<String> moduleName) {
408407
});
409408
}
410409

411-
private void warnVersionMissing(String moduleName, Map<String, Object> ga, File moduleInfoFile) {
412-
if (getWarnForMissingVersions().get()) {
413-
getProject().getLogger().warn("[WARN] [Java Module Dependencies] No version defined in catalog - " + ga.get(GAV.GROUP) + ":" + ga.get(GAV.ARTIFACT) + " - "
414-
+ moduleDebugInfo(moduleName.replace('.', '_'), moduleInfoFile, getProject().getRootDir()));
415-
}
416-
}
417-
418410
private String moduleDebugInfo(String moduleName, File moduleInfoFile, File rootDir) {
419411
return moduleName
420412
+ " (required in "

src/main/java/org/gradlex/javamodule/dependencies/JavaModuleDependenciesPlugin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ private void setupReportTasks(Project project, JavaModuleDependenciesExtension j
172172
t.setGroup(HELP_GROUP);
173173
t.setDescription("Query repositories for latest stable versions of the used Java Modules");
174174

175-
t.getPrintForPlatform().convention(javaModuleDependencies.getWarnForMissingVersions().map(b -> !b));
176-
t.getPrintForCatalog().convention(javaModuleDependencies.getWarnForMissingVersions());
175+
t.getPrintForPlatform().convention(true);
176+
t.getPrintForCatalog().convention(false);
177177
});
178178
}
179179

src/main/java/org/gradlex/javamodule/dependencies/SharedMappings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.util.Map;
2222
import java.util.Properties;
2323

24-
final class SharedMappings {
24+
final public class SharedMappings {
2525
static Map<String, String> mappings = loadModuleNameToGAProperties();
2626

2727
static Map<String, String> loadModuleNameToGAProperties() {

src/test/groovy/org/gradlex/javamodule/dependencies/test/WarningsTest.groovy

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,6 @@ class WarningsTest extends Specification {
88
@Delegate
99
GradleBuild build = new GradleBuild()
1010

11-
def "prints warning for version missing in catalog"() {
12-
given:
13-
file('gradle/libs.versions.toml') << '''
14-
[versions]
15-
org_apache_xmlbeans = "5.0.1"
16-
'''.stripIndent()
17-
appBuildFile << '''
18-
dependencies.constraints {
19-
javaModuleDependencies {
20-
implementation(gav("com.fasterxml.jackson.databind", "2.12.5"))
21-
}
22-
}
23-
'''
24-
appModuleInfoFile << '''
25-
module org.gradlex.test.app {
26-
requires com.fasterxml.jackson.databind;
27-
requires org.apache.xmlbeans;
28-
}
29-
'''
30-
31-
when:
32-
def result = build()
33-
34-
then:
35-
result.output.contains('[WARN] [Java Module Dependencies] No version defined in catalog - com.fasterxml.jackson.core:jackson-databind - com_fasterxml_jackson_databind (required in app/src/main/java/module-info.java)')
36-
}
37-
3811
def "warning for version missing in catalog can be disabled"() {
3912
given:
4013
file('gradle/libs.versions.toml') << '''

0 commit comments

Comments
 (0)