[jira] Closed: (MNG-4202) Unable to resolve ${env.HOSTNAME}
[ http://jira.codehaus.org/browse/MNG-4202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Bentmann closed MNG-4202. -- Resolution: Not A Bug Again, quoting http://www.bsdnewsletter.com/bsda-book/Recognize__44___view_and_modify_environmental_variables.html bq. Most shells have their own internal variables, which should not be confused with global environment variables as they are not passed to newly started processes. And {{HOSTNAME}} is such an internal shell variable (cf. http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html#Bash-Variables). So the "extra special magic" you mention is your OS/shell, not Maven. Maven eventually invokes {{System.getenv()}}, what the JVM+OS don't provide here, isn't available for interpolation. So please fill any issue about HOSTNAME with the vendor of your JVM/OS, Maven isn't responsible for the underlying software stack it runs on. Besides, a pristine shell yields this for me: {noformat} bbm:~ bentmann$ env | grep HOSTNAME bbm:~ bentmann$ echo $HOSTNAME bbm {noformat} and furthermore, the expression {{$\{env.HOSTNAME}}} gets available for interpolation of the POM as soon as I do {noformat} export HOSTNAME=$HOSTNAME {noformat} > Unable to resolve ${env.HOSTNAME} > - > > Key: MNG-4202 > URL: http://jira.codehaus.org/browse/MNG-4202 > Project: Maven 2 & 3 > Issue Type: Bug >Affects Versions: 2.0.9, 2.0.10, 2.1.0 > Environment: Mac OS X _Leopard_ 10.5.7 with JDK 1.5.0_16 > CentOS 5.2 with JDK 1.5.0_17 & 1.6.0_12 >Reporter: Pete de Zwart >Assignee: Benjamin Bentmann >Priority: Critical > > Empirical test. Using the following POM, you will be able to resolve the > environment variable {{$FOO}}: > {noformat} > http://maven.apache.org/POM/4.0.0"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd";> > 4.0.0 > test > test > pom > 1.1-SNAPSHOT > > ${env.FOO} > > > {noformat} > If we then assign the value {{BAR}} to {{$FOO}}, we can observer that the > environment has been set in the shell: > {noformat} > pdzw...@fosters:/tmp[18:57:46](1,0)$ export FOO=BAR > pdzw...@fosters:/tmp[18:58:48](1,0)$ echo $FOO > BAR > {noformat} > Now, running {{mvn clean}} using this POM, we expect that an exception will > be thrown regarding {{$PWD/BAR}} not existing: > {noformat} > [INFO] Scanning for projects... > [INFO] > > [ERROR] FATAL ERROR > [INFO] > > [INFO] Error building POM (may not be this project's POM). > Project ID: unknown > Reason: Could not find the model file '/private/tmp/BAR'. for project unknown > [INFO] > > [INFO] Trace > org.apache.maven.reactor.MavenExecutionException: Could not find the model > file '/private/tmp/BAR'. for project unknown > at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:432) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:300) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > Caused by: org.apache.maven.project.ProjectBuildingException: Could not find > the model file '/private/tmp/BAR'. for project unknown > at > org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1585) > at > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506) > at > org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) > at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:632) > at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:515) > at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:588) > at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:419) > ... 11 more > Caused by: java.io.FileNotFoundExce
[jira] Closed: (MNG-4202) Unable to resolve ${env.HOSTNAME}
[ http://jira.codehaus.org/browse/MNG-4202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Bentmann closed MNG-4202. -- Resolution: Not A Bug Assignee: Benjamin Bentmann This is platform-specific issue: {{$HOSTNAME}} is an [internal variable of the shell|http://tldp.org/LDP/abs/html/internalvariables.html], it is not an environment variable (cf. the output of the {{env}} command or the {{System.getenv()}} method) and as such not available to Maven. > Unable to resolve ${env.HOSTNAME} > - > > Key: MNG-4202 > URL: http://jira.codehaus.org/browse/MNG-4202 > Project: Maven 2 & 3 > Issue Type: Bug >Affects Versions: 2.0.9, 2.0.10, 2.1.0 > Environment: Mac OS X _Leopard_ 10.5.7 with JDK 1.5.0_16 > CentOS 5.2 with JDK 1.5.0_17 & 1.6.0_12 >Reporter: Pete de Zwart >Assignee: Benjamin Bentmann >Priority: Critical > > Empirical test. Using the following POM, you will be able to resolve the > environment variable {{$FOO}}: > {noformat} > http://maven.apache.org/POM/4.0.0"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/maven-v4_0_0.xsd";> > 4.0.0 > test > test > pom > 1.1-SNAPSHOT > > ${env.FOO} > > > {noformat} > If we then assign the value {{BAR}} to {{$FOO}}, we can observer that the > environment has been set in the shell: > {noformat} > pdzw...@fosters:/tmp[18:57:46](1,0)$ export FOO=BAR > pdzw...@fosters:/tmp[18:58:48](1,0)$ echo $FOO > BAR > {noformat} > Now, running {{mvn clean}} using this POM, we expect that an exception will > be thrown regarding {{$PWD/BAR}} not existing: > {noformat} > [INFO] Scanning for projects... > [INFO] > > [ERROR] FATAL ERROR > [INFO] > > [INFO] Error building POM (may not be this project's POM). > Project ID: unknown > Reason: Could not find the model file '/private/tmp/BAR'. for project unknown > [INFO] > > [INFO] Trace > org.apache.maven.reactor.MavenExecutionException: Could not find the model > file '/private/tmp/BAR'. for project unknown > at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:432) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:300) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:356) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > Caused by: org.apache.maven.project.ProjectBuildingException: Could not find > the model file '/private/tmp/BAR'. for project unknown > at > org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1585) > at > org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506) > at > org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) > at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:632) > at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:515) > at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:588) > at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:419) > ... 11 more > Caused by: java.io.FileNotFoundException: /private/tmp/BAR (No such file or > directory) > at java.io.FileInputStream.open(Native Method) > at java.io.FileInputStream.(FileInputStream.java:106) > at > hidden.org.codehaus.plexus.util.xml.XmlReader.(XmlReader.java:124) > at > hidden.org.codehaus.plexus.util.xml.XmlStreamReader.(XmlStreamReader.java:67) > at > hidden.org.codehaus.plexus.util.ReaderFactory.newXmlReader(ReaderFactory.java:113) > at > org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1580) > ... 17 more > [INFO] > > [INFO] Total time: < 1 second > [INFO] Finished at: Tue Jun 16 18:59:37 EST 2009 >