Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0-alpha-1
-
None
Description
During a review I have found this:
MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir "$@"`}"
and
set "MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%" if not "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
I was about to remove it until I have found:
$ grep -r MAVEN_BASEDIR . ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5937MavenWrapper.java: envVars.put( "MAVEN_BASEDIR", testDir.getAbsolutePath() ); ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5937MavenWrapper.java: envVars.put( "MAVEN_BASEDIR", testDir.getAbsolutePath() ); ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5937MavenWrapper.java: envVars.put( "MAVEN_BASEDIR", testDir.getAbsolutePath() ); ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5937MavenWrapper.java: envVars.put( "MAVEN_BASEDIR", testDir.getAbsolutePath() ); ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java: // It seems MAVEN_BASEDIR isn't always properly set, so make sure to have the right value here ./core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6118SubmoduleInvocation.java: envVars.put( "MAVEN_BASEDIR", testDir.getAbsolutePath() ); ./environments/solaris-10-jdk7/apache-maven-3.3.9.patch:< MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-$(find_maven_basedir)}" ./environments/solaris-10-jdk7/apache-maven-3.3.9.patch:> MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir`}" ./environments/solaris-10-jdk8/apache-maven-3.3.9.patch:< MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-$(find_maven_basedir)}" ./environments/solaris-10-jdk8/apache-maven-3.3.9.patch:> MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir`}"
It is not clear why this variable is there and and why it is necessary. There are several ways to resolve this issue:
- Remove it and rely on basedir discovery in scripts
- Document it officially in the prolog of the scripts
- Inline document them as private and used for testing purposes only