You are fighting the "Maven way" Drink the coolaid, split your "two phases" into two projects and you will actually end up with a cleaner project in the first place... and a simpler build process... and it will be doing what you want
Maven is opinionated... you have hit a core opinion, either use something else or follow the opinion. I suggest you try following the opinion and see where that takes you... I believe you'll have a cleaner structure that is _easier for others to maintain after you have moved on to projects elsewhere_ as well as easy for you to maintain going forwards -Stephen P.S. Maven aims to make building software easier for everyone working on the project to maintain, not just the person who set up the build process initially... the easiest tools for setting up a build process are not necessariliy the best tools for maintaining a build when the original build engineer moves elsewhere On 2 November 2010 10:22, Leon Rosenberg <[email protected]> wrote: > Sorry, I was not able to answer to this message in the previous three days... > > If I understand your replies correctly, I cannot split the compile > phase into two with maven. This sounds pretty ... shitty ;-( > > regards > Leon > > On Fri, Oct 29, 2010 at 11:07 PM, Manfred Moser <[email protected]> wrote: >> You could move the code generator and the generated code out to a separate >> project. That will save you build time and solve your problem. >> >> manfred >> >>> Hi, >>> >>> I have following requirement. I have a project, in which I have one >>> source folder which contains a code generator (run with apt), another >>> source folder >>> which contains code, which is processed by the generator from folder >>> 1, and a third folder that relies on the code generated by the second >>> folder. >>> Therefor I need two compilation executions after each other, one for >>> the generator and one for the generated code. >>> Is this possible with maven? >>> >>> thanx in advance >>> >>> My pom file sofar: >>> >>> <project xmlns="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"> >>> >>> <parent> >>> <groupId>net.anotheria</groupId> >>> <artifactId>parent</artifactId> >>> <version>1.1</version> >>> </parent> >>> >>> <modelVersion>4.0.0</modelVersion> >>> <groupId>net.anotheria</groupId> >>> <artifactId>distributeme</artifactId> >>> <version>1.0.0-SNAPSHOT</version> >>> <name>distributeme</name> >>> >>> <build> >>> <plugins> >>> <plugin> >>> <groupId>org.codehaus.mojo</groupId> >>> <artifactId>build-helper-maven-plugin</artifactId> >>> <executions> >>> <execution> >>> <id>add-source</id> >>> <phase>generate-sources</phase> >>> <goals> >>> <goal>add-source</goal> >>> </goals> >>> <configuration> >>> <sources> >>> <source>${project.basedir}/src/java</source> >>> <source>${project.basedir}/src/support</source> >>> <source>${project.basedir}/test/java</source> >>> </sources> >>> </configuration> >>> </execution> >>> </executions> >>> </plugin> >>> <plugin> >>> <groupId>org.codehaus.mojo</groupId> >>> <artifactId>apt-maven-plugin</artifactId> >>> <version>1.0-alpha-3</version> >>> <dependencies> >>> <dependency> >>> <groupId>org.jfrog.maven.annomojo</groupId> >>> <artifactId>maven-plugin-tools-anno</artifactId> >>> <version>1.3.1</version> >>> <exclusions> >>> <exclusion> >>> <groupId>com.sun</groupId> >>> <artifactId>tools</artifactId> >>> </exclusion> >>> </exclusions> >>> </dependency> >>> <dependency> >>> <groupId>org.codehaus.mojo</groupId> >>> <artifactId>cobertura-maven-plugin</artifactId> >>> <version>${cobertura-plugin.version}</version> >>> </dependency> >>> >>> </dependencies> >>> <executions> >>> <execution> >>> <id>process</id> >>> <goals> >>> <goal>process</goal> >>> </goals> >>> <phase>generate-sources</phase> >>> <configuration> >>> >>> <factory>org.distributeme.processors.GeneratorProcessorFactory</factory> >>> <encoding>UTF-8</encoding> >>> <verbose>true</verbose> >>> >>> <outputDirectory>${project.basedir}/generated/java</outputDirectory> >>> </configuration> >>> </execution> >>> </executions> >>> </plugin> >>> </plugins> >>> </build> >>> >>> <reporting> >>> </reporting> >>> >>> <dependencies> >>> <dependency> >>> <groupId>net.anotheria</groupId> >>> <artifactId>ano-util</artifactId> >>> <version>1.0.0</version> >>> </dependency> >>> <dependency> >>> <groupId>net.anotheria</groupId> >>> <artifactId>ano-net</artifactId> >>> <version>1.0.0</version> >>> </dependency> >>> <dependency> >>> <groupId>net.anotheria</groupId> >>> <artifactId>ano-prise</artifactId> >>> <version>1.0.2</version> >>> </dependency> >>> <dependency> >>> <groupId>net.anotheria</groupId> >>> <artifactId>configureme</artifactId> >>> <version>1.0.0</version> >>> </dependency> >>> <dependency> >>> <groupId>javax.servlet</groupId> >>> <artifactId>servlet-api</artifactId> >>> <version>2.5</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>jdom</groupId> >>> <artifactId>jdom</artifactId> >>> <version>0.7</version> >>> </dependency> >>> <dependency> >>> <groupId>com.sun</groupId> >>> <artifactId>tools</artifactId> >>> <version>1.6</version> >>> <scope>provided</scope> >>> </dependency> >>> >>> </dependencies> >>> >>> >>> >>> <scm> >>> >>> <url>svn:svn://svn.anotheria.net/opensource/distributeme/trunk</url> >>> >>> <connection>scm:svn:svn://svn.anotheria.net/opensource/distributeme/trunk</connection> >>> >>> <developerConnection>scm:svn:svn://svn.anotheria.net/opensource/distributeme/trunk</developerConnection> >>> </scm> >>> >>> </project> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
