desruisseaux commented on code in PR #2180: URL: https://github.com/apache/maven/pull/2180#discussion_r2011009165
########## impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSourceRoot.java: ########## @@ -65,24 +65,26 @@ public final class DefaultSourceRoot implements SourceRoot { * @param source a source element from the model */ public DefaultSourceRoot(final Session session, final Path baseDir, final Source source) { - String value = nonBlank(source.getDirectory()); - if (value == null) { - throw new IllegalArgumentException("Source declaration without directory value."); - } - directory = baseDir.resolve(value); - FileSystem fs = directory.getFileSystem(); + FileSystem fs = baseDir.getFileSystem(); includes = matchers(fs, source.getIncludes()); excludes = matchers(fs, source.getExcludes()); stringFiltering = source.isStringFiltering(); enabled = source.isEnabled(); moduleName = nonBlank(source.getModule()); - value = nonBlank(source.getScope()); + String value = nonBlank(source.getScope()); scope = (value != null) ? session.requireProjectScope(value) : ProjectScope.MAIN; value = nonBlank(source.getLang()); Review Comment: This is often true. But in this particular case, I have some difficulties to find a nice alternative. Multiplying the number of variables also increases the risk that we use the wrong ones. In the current code, the `value` variable is used each time for initializing a final field, then immediately assigned the next value, with each block separated by a blank line. There is no much room for confusion. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org