koch-runtime
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.objectweb.fractal.julia</groupId>
<artifactId>koch-runtime</artifactId>
<version>2.5.2.3</version>
</dependency><?xml version="1.0"?>
<!--
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-->
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.objectweb.fractal.julia</groupId>
<artifactId>parent</artifactId>
<version>2.5.2</version>
</parent>
<artifactId>koch-runtime</artifactId>
<version>2.5.2.3</version>
<name>Koch Runtime</name>
<packaging>jar</packaging>
<description>Koch runtime</description>
<scm>
<connection>${scm.connection}/julia/koch-runtime</connection>
<developerConnection>
${scm.developerConnection}/julia/koch-runtime
</developerConnection>
<url>${scm.url}/julia/koch-runtime</url>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>
${basedir}/src/main/resources/META-INF/MANIFEST.MF
</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.objectweb.fractal</groupId>
<artifactId>fractal-util</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>julia-asm</artifactId>
<version>2.5.2</version>
</dependency>
</dependencies>
<profiles>
<!-- =============================================================== -->
<!-- Generate the Java source code for membrane factories -->
<!-- -->
<!-- This generation was previously performed during the normal -->
<!-- build process. However, this was introducing a dependency to -->
<!-- koch-mc and by transitivity to Fractal ADL (which is a bit -->
<!-- ugly since Fractal ADL is no longer needed once the factories -->
<!-- have been generated.) -->
<!-- -->
<!-- A solution which has been tested was to declare the dependency -->
<!-- to koch-mc in the <configuration> section of the -->
<!-- exec-maven-plugin. However, Valerio reported that this was -->
<!-- breaking the compilation process when compiling the Fractal -->
<!-- trunk from scratch. -->
<!-- -->
<!-- Since I do not have a decent explanation for this bug, nor a -->
<!-- solution, and since I nevertheless want to get rid of the -->
<!-- dependency to koch-mc, I decided to adopt the degraded solution -->
<!-- of removing the generation of factories from the normal build -->
<!-- process and to include the generated code in the source -->
<!-- directory. I know this is ugly but I still prefer this solution -->
<!-- to the one which consists on depending to Fractal ADL. -->
<!-- =============================================================== -->
<profile>
<id>generate</id>
<build>
<defaultGoal>compile</defaultGoal>
<plugins>
<!-- ================================================= -->
<!-- Must be run in process-resources phase. -->
<!-- Before that, the .fractal have not been copied to -->
<!-- target/classes and can not be loaded. -->
<!-- ================================================= -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
<phase>process-resources</phase>
</execution>
</executions>
<configuration>
<mainClass>org.objectweb.fractal.koch.mc.MembraneCompiler</mainClass>
<includePluginDependencies>true</includePluginDependencies>
<arguments>
<argument>-d</argument>
<argument>${project.build.directory}/generated-sources/main/java</argument>
<argument>org.objectweb.fractal.koch.membrane.AutoBindingComposite</argument>
<argument>org.objectweb.fractal.koch.membrane.AutoBindingPrimitive</argument>
<argument>org.objectweb.fractal.koch.membrane.Bootstrap</argument>
<argument>org.objectweb.fractal.koch.membrane.Composite</argument>
<argument>org.objectweb.fractal.koch.membrane.CompositeTemplate</argument>
<argument>org.objectweb.fractal.koch.membrane.FlatParametricPrimitive</argument>
<argument>org.objectweb.fractal.koch.membrane.FlatParametricPrimitiveTemplate</argument>
<argument>org.objectweb.fractal.koch.membrane.FlatPrimitive</argument>
<argument>org.objectweb.fractal.koch.membrane.FlatPrimitiveTemplate</argument>
<argument>org.objectweb.fractal.koch.membrane.ParametricComposite</argument>
<argument>org.objectweb.fractal.koch.membrane.ParametricCompositeTemplate</argument>
<argument>org.objectweb.fractal.koch.membrane.ParametricPrimitive</argument>
<argument>org.objectweb.fractal.koch.membrane.ParametricPrimitiveTemplate</argument>
<argument>org.objectweb.fractal.koch.membrane.Primitive</argument>
<argument>org.objectweb.fractal.koch.membrane.PrimitiveTemplate</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>koch-mc</artifactId>
<version>2.5.2</version>
</dependency>
</dependencies>
</profile>
</profiles>
<developers>
<developer>
<id>seinturier</id>
<name>Lionel Seinturier</name>
<email>Lionel.Seinturier@univ-lille1.fr</email>
<organization>USTL</organization>
<organizationUrl>http://www.univ-lille1.fr</organizationUrl>
<roles>
<role>Architect</role>
<role>Developer</role>
</roles>
</developer>
</developers>
</project>