I have solved that issue by setting a projectRoot variable:
<profile>
<id>local</id>
<activation>
<activeByDefault/>
</activation>
<projectRoot>C:/viewstore/esp_lynx_dap/esp/dap</projectRoot>
....
Then my filter is:
<profile>
<id>local</id>
<build>
<filters>
<filter>${projectRoot}/src/main/filters/filter-
local.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>dev-7777</id>
<build>
<filters>
<filter>${projectRoot}/src/main/filters/filter-
dev-7777.properties</filter>
</filters>
</build>
</profile>
Then they all use the same filter.
But I have an issue where only the local filter is picked up.
Any idea how to override each filter as a profile?
On Dec 4, 2007 12:05 PM, CasMeiron <[EMAIL PROTECTED]> wrote:
> Yes, i got this problem too this week.
>
> On Dec 4, 2007 7:40 AM, heimlich <[EMAIL PROTECTED]> wrote:
>
> >
> > Hi all,
> >
> > I'm in a bit of a pickle, and I'm hoping someone can help me out.
> >
> > I have an extensive Maven project with the following layout:
> >
> > project A, packaging: pom
> > project A.A, packaging: pom
> > project A.A.A, packaging: jar
> > project A.A.B, packaging: jar
> > project A.A.C, packaging: war
> > ...
> > project A.B, packaging: pom
> > project A.B.A, packaging: jar
> > project A.B.B, packaging: war
> > project A.B.C, packaging: war
> > ...
> >
> > And I have a global properties file used as a configuration file that I
> > want
> > filtered depending on which profile I run:
> >
> > # conf.properties
> > URL_TO_SERVER1=${env.server1.address}
> > URL_TO_SERVER2=${env.server1.address}
> > ...
> >
> > And I have three filter files:
> >
> > #dev.properties
> > env.server1.address=server1.dev.example.com
> > env.server2.address=server2.dev.example.com
> >
> > #test.properties
> > env.server1.address=server1.test.example.com
> > env.server2.address=server2.test.example.com
> >
> > #prod.properties
> > env.server1.address=server1.prod.example.com
> > env.server2.address=server2.prod.example.com
> >
> > Now, How do I configure the top POM (project A above) to filter
> > conf.properties using (say) filter dev.properties.
> >
> > I had a go at it with the following top POM:
> >
> > <project>
> > <modelVersion>4.0.0</modelVersion>
> > <groupId>com.example</groupId>
> > <artifactId>projA</artifactId>
> > <packaging>pom</packaging>
> > <version>1.0-SNAPSHOT</version>
> > <name>Project A</name>
> > <build>
> > </build>
> > <modules>
> > <module>A</module>
> > <module>B</module>
> > </modules>
> > <dependencyManagement>
> > ...
> > </dependencyManagement>
> > <dependencies>
> > <dependency>
> > <groupId>junit</groupId>
> > <artifactId>junit</artifactId>
> > <scope>test</scope>
> > </dependency>
> > </dependencies>
> > <profiles>
> > <profile>
> > <id>dev</id>
> > <activation>
> > <activeByDefault>true</activeByDefault>
> > </activation>
> > <build>
> > <filters>
> > <filter>${basedir}/filters/dev.properties</filter>
> > </filters>
> > <resources>
> > <resource>
> > <directory>src/main/resources</directory>
> > <filtering>true</filtering>
> > </resource>
> > </resources>
> > </build>
> > </profile>
> > <profile>
> > <id>test</id>
> > <build>
> > <filters>
> > <filter>${basedir}/filters/test.properties</filter>
> > </filters>
> > <resources>
> > <resource>
> > <directory>src/main/resources</directory>
> > <filtering>true</filtering>
> > </resource>
> > </resources>
> > </build>
> > </profile>
> > <profile>
> > <id>prod</id>
> > <build>
> > <filters>
> > <filter>${basedir}/filters/prod.properties</filter>
> > </filters>
> > <resources>
> > <resource>
> > <directory>src/main/resources</directory>
> > <filtering>true</filtering>
> > </resource>
> > </resources>
> > </build>
> > </profile>
> > </profiles>
> > </project>
> >
> > The problem is that each subproject tries to refer to the 'filters'
> > directory IN ITS OWN directory structure,
> > not the one at the top.
> >
> > The reason for this structure is that I want:
> >
> > ONE conf.properties
> > ONE filter file per profile
> >
> > and I want the filtered conf.properties copied into src/main/resources
> of
> > each subproject
> > (I'm, willing to consider having copies of an unfiltered
> conf.propertiesin
> > each project's resources directory).
> > Can it be done (how?) or should try a different approach (any
> > suggestions)?
> >
> > Or should I have no filtering, and just three different properties files
> > (dev, test and prod)
> > at the top and have them included in each concrete project (how do I do
> > that)?
> >
> >
> > Thanks,
> > heimlich
> >
> > --
> > View this message in context:
> >
> http://www.nabble.com/Profiles-and-filtering---global-files-tf4942371s177.html#a14148383
> > Sent from the Maven - Users mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Paulo Cesar Silva Reis
> -------------------------------
> Powered by GMAIL
>
--
Thanks,
Mick Knutson
http://www.baselogic.com
http://www.blincmagazine.com
http://www.djmick.com
http://www.myspace.com/mickknutson
http://www.myspace.com/BLiNCMagazine
http://tahoe.baselogic.com
---