Commit 067c6f4f authored by Christophe Demarey's avatar Christophe Demarey
Browse files

[maven-release-plugin] copy for tag FSCRIPT_2_1_2

parents 0bfbdfc0 6273e586
This is the parent Maven module for the FScript project.
######################################################################
# SOURCE ORGANIZATION #
######################################################################
The organization of the sources is the following (Maven coordinates
are given between '<' and '>', where 'o.o.f' stands for
'org.objectweb.fractal'):
fscript <o.o.f.fscript:parent> : This directory, containing the
| multi-module parent project.
|
|- fscript <o.o.f.fscript:fscript> : The actual implementation of
| FPath and FScript, as well as the documentation.
|
|- fscript-console <o.o.f.fscript:fscript-console> : A text console
| application to interact with FPath and FScript.
|
|- fscript-jade <o.o.f.fscript:fscript-jade> : A small extension
| to support Jade-specific operations in addition to standard
| Fractal operations.
######################################################################
# BUILD NOTES #
######################################################################
To build FScript and install the produced artifacts in your local
Maven repository, perform the following command:
$ mvn clean install
FScript depends on the JTA APIs from Sun. Unfortunately, Sun's policy
prevents their redistribution on Maven's main repositories (see
http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html).
If the build fails because JTA (<javax.transaction:jta:1.1>) is
missing, you must download and install the artifact manually:
- Get the JAR from http://java.sun.com/products/jta/. You want "Class
Files 1.1" from "Java Transaction API Specification 1.1 Maintenance
Release".
- Install the resulting file (jta-1_1-classes.zip) into you local
Maven repository. Perform the following command (on a single line):
% mvn install:install-file -Dfile=jta-1_1-classes.zip \
-DgroupId=javax.transaction \
-DartifactId=jta \
-Dversion=1.1 \
-Dpackaging=jar
###############################################################
!! How to use Fractal Maven artifacts in your 3rd party project
###############################################################
Add the following in your pom.xml
<project>
<!-- ....... -->
<repositories>
<repository>
<id>objectweb-release</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>objectweb-snapshot</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>objectweb-release</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>objectweb-snapshot</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- ........ -->
</project>
####################################################################
!! How to setup the environment to develop a Fractal sub-project
!! that you have checkout from the SVN
####################################################################
If you want to just check out a single Fractal sub project (i.e. "julia") and wants to work on it,
you need to put this (once and forever) in your .m2/settings.xml:
<settings>
<!-- ........ -->
<profiles>
<profile>
<id>objectweb</id>
<repositories>
<repository>
<id>objectweb-release</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>objectweb-snapshot</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>objectweb-release</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>objectweb-snapshot</id>
<name>ObjectWeb Maven Repository</name>
<url>http://maven.objectweb.org/maven2-snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!--
To make the "objectweb" profile used by default when you utilize Maven to
build a project
-->
<activeProfiles>
<activeProfile>objectweb</activeProfile>
</activeProfiles>
<!-- ........ -->
</settings>
##################################################################
##################################################################
For other informations have a look at the Fractal Web Site:
http://fractal.objectweb.org/maven.html
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="features/fcinterface/rt/src"/>
<classpathentry kind="src" path="features/glue/spoon/src"/>
<classpathentry kind="src" path="features/loggable/off/src"/>
<classpathentry kind="src" path="features/membrane/oo/src"/>
<classpathentry kind="src" path="features/platform/j2se/src"/>
<classpathentry kind="src" path="examples/helloworld/src"/>
<classpathentry kind="src" path="examples/collection/src"/>
<classpathentry kind="src" path="examples/bench/src"/>
<classpathentry kind="src" path="examples/benchsep/src"/>
<classpathentry kind="src" path="examples/comanche/src"/>
<classpathentry kind="src" path="examples/estore/src"/>
<classpathentry kind="src" path="features/glue/spoon/examples/helloworld/src"/>
<classpathentry kind="src" path="features/glue/spoon/examples/bench/src"/>
<classpathentry kind="src" path="features/glue/spoon/examples/benchsep/src"/>
<classpathentry kind="src" path="features/glue/spoon/examples/comanche/src"/>
<classpathentry kind="src" path="features/glue/spoon/examples/estore/src"/>
<classpathentry kind="src" path="test/conform"/>
<classpathentry kind="src" path="test/perf"/>
<classpathentry kind="src" path="test/examples"/>
<classpathentry kind="src" path="features/fcinterface/rt/test/conform"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="externals/fractal.jar"/>
<classpathentry kind="lib" path="externals/fractal-util.jar"/>
<classpathentry kind="lib" path="test/lib/junit.jar"/>
<classpathentry kind="lib" path="externals/fractal-adl.jar"/>
<classpathentry kind="lib" path="externals/dtdparser.jar"/>
<classpathentry kind="lib" path="externals/ow_deployment_scheduling.jar"/>
<classpathentry kind="lib" path="externals/asm-2.2.jar"/>
<classpathentry kind="lib" path="features/glue/spoon/lib/JSAP-2.0a.jar"/>
<classpathentry kind="lib" path="features/glue/spoon/lib/spoon-20060719b.jar"/>
<classpathentry kind="lib" path="features/glue/spoon/lib/org.eclipse.jdt.core_3.2.0.v_670.jar"/>
<classpathentry kind="output" path="output/build"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>aokell</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
============================================================================
AOKell
Copyright (C) 2005-2006 INRIA, France Telecom, USTL
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
Contact: Lionel.Seinturier@lifl.fr
Author: Lionel Seinturier
============================================================================
============================================================================
AOKell
Copyright (C) 2005-2006 INRIA, France Telecom, USTL
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
Contact: Lionel.Seinturier@lifl.fr
Author: Lionel Seinturier
============================================================================
AOKell 2.0 Binary Distribution
-------------------------------
AOKell is the INRIA and France Telecom implementation of the Fractal
specifications. AOKell is a free software distributed under the terms of the
GNU Lesser General Public license. AOKell is written in Java.
Table of content
----------------
1. Requirements
2. Running the examples distributed with AOKell
1. Requirements
---------------
The following software is required to run and use AOKell:
- J2SE >= 1.5
- Ant >= 1.6
If you want to customize the AOKell framework, please download the source
distribution.
2. Running the examples distributed with AOKell
-----------------------------------------------
Several examples are distributed with AOKell. The source code of these examples
is located under the examples/ directory. The list of available examples
follows.
- helloworld: Hello world
- comanche: The comanche web server
- bench: JACBenchmark application
- benchsep: a second version of the JACBenchmark application
- collection: A simple example with auto-binding components
- estore: A simple example with collection interfaces
To run the examples, type (xxx is the example name):
cd examples/xxx
ant execute
Typying simply "ant" in the example directory displays a short description of
the example.
For any question concerning AOKell, please contact Lionel.Seinturier@lifl.fr
============================================================================
AOKell
Copyright (C) 2005-2006 INRIA, France Telecom, USTL
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
Contact: Lionel.Seinturier@lifl.fr
Author: Lionel Seinturier
============================================================================
AOKell 2.0 Source Distribution
------------------------------
AOKell is the INRIA and France Telecom implementation of the Fractal
specifications. AOKell is a free software distributed under the terms of the
GNU Lesser General Public license. AOKell is written in Java.
Table of content
----------------
1. Requirements
2. Compiling AOKell
3. Running the examples distributed with AOKell
4. Software included with AOKell
5. The feature mechanism
6. Note on AspectJ
1. Requirements
---------------
The following software is required to compile, run and use AOKell:
- J2SE >= 1.5 (1.4 if AspectJ is used instead of Spoon - see below)
- Ant 1.6.x (1.7.x is not supported)
2. Compiling AOKell
-------------------
When compiling AOKell, the following directories come into play:
src/ the main source files of AOKell
config/ some .jar files needed to compile AOKell
externals/ some .jar files needed to compile and run AOKell
features/ some additional source modules
output/build/ the directory where .class files are stored
To compile AOKell, from the root directory where AOKell has been installed,
type:
ant compile
3. Running the examples distributed with AOKell
-----------------------------------------------
Several examples are distributed with AOKell. The source code of these examples
is located under the src/examples/ directory. The list of available examples
follows.
- helloworld: Hello world
- comanche: The comanche web server
- bench: JACBenchmark application
- benchsep: a second version of the JACBenchmark application
- collection: A simple example with auto-binding components
- estore: A simple example with collection interfaces
To run the examples, type (xxx is the example name):
ant examples
cd output/dist/examples/xxx
ant execute
Typying simply "ant" in the example directory displays a short description of
the example.
4. Software included with AOKell
--------------------------------
AOKell includes the following software:
- ASM 2.2 <http://asm.objectweb.org>
- AspectJ 1.2.1 <http://www.eclipse.org/aspectj/>
- Fractal API 2 <http://fractal.objectweb.org>
- Fractal ADL 2 <http://fractal.objectweb.org>
- Spoon 1.0 <http://spoon.gforge.inria.fr>
5. The feature mechanism
------------------------
The AOKell framework is decomposed in modules called features.
The purpose of this decomposition is to introduce some degrees of variability in
the framework and to let developers change the implementation of these features.
Different implementations of these features are provided with AOKell. While a
default implementation is provided for each feature, the developer can still
choose an alternative version or provide her/his own version by configuring the
properties defined in the build.properties file and recompiling AOKell.
The list of available features and their values follows:
- fcinterface: generation of Fractal interfaces
- rt (default): Fractal interfaces are generated at run-time with ASM
- ct: Fractal interfaces are precompiled
- glue: gluing the control and the content
- spoon (default): the glue is implemented with Spoon processors
- aspectj: the glue is implemented with AspectJ aspects
- loggable: logging Fractal components
- off (default)
- on
- membrane: control membrane implementation
- oo (default): membranes are sets of objects
- comp: control membranes are componentized
- platform: deals with the targeted Java platform (J2SE or J2ME)
- j2se (default): a standard J2SE platform
- j2me-cdc: a J2ME CDC compliant platform
- j2me-cldc: a J2ME CLDC compliant platform such as the KVM
6. Note on AspectJ
------------------
When the glue feature is configured with the aspectj value, the aspect-oriented
language AspectJ is used. For this purpose, the AOKell distribution includes
version 1.2.1 of AspectJ. See http://www.eclipse.org/aspectj for further
details on AspectJ.
When programming new applications, if you intend to use another version of
AspectJ (especially a newer one), you will have to recompile AOKell with *your*
version of AspectJ. This is due to versioning incompatibilities between AspectJ
releases, i.e. your code compiled with another version of AspectJ won't work
with the .jar files of AOKell compiled with AspectJ 1.2.1.
This case may also occur if you are using a plug-in such as the AJDT (see
http://www.eclipse.org/ajdt) AspectJ plug-in for Eclipse which embeds its own
version of the AspectJ compiler. It is recommended to recompile AOKell with the
version of AspectJ provided by the plug-in.
For any question concerning AOKell, please contact Lionel.Seinturier@lifl.fr
Manifest-Version: 1.0
Implementation-Title: "AOKell Components"
Implementation-Version: "2.0"
Implementation-Vendor: "INRIA - France Telecom"
<!--
! AOKell
! Copyright (C) 2005-2006 INRIA, France Telecom, USTL
!
! 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
!
! Contact: Lionel.Seinturier@lifl.fr
-->
<project name="AOKell-component" default="jar.component">
<target name="jar.component">
<jar jarfile="${out.dist.lib}/aokell-component-${product.version}.jar" manifest="${archive}/aokell-component.mf">
<fileset dir="${out.build}">
<include name="org/objectweb/fractal/aokell/component/**/*.class"/>
</fileset>
</jar>
</target>
</project>
Manifest-Version: 1.0
Implementation-Title: "AOKell Glue"
Implementation-Version: "2.0"
Implementation-Vendor: "INRIA - France Telecom"
<!--
! AOKell
! Copyright (C) 2005-2006 INRIA, France Telecom, USTL
!
! 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
!
! Contact: Lionel.Seinturier@lifl.fr
-->
<project name="AOKell-glue" default="jar.glue">
<target name="jar.glue">
<condition property="jar.feature.glue" value="aspectj">
<isset property="feature.glue.aspectj" />
</condition>
<condition property="jar.feature.glue" value="spoon">
<not> <isset property="feature.glue.aspectj" /> </not>
</condition>
<jar jarfile="${out.dist.lib}/aokell-glue-${jar.feature.glue}-${product.version}.jar"
manifest="${archive}/aokell-glue.mf">
<fileset dir="${out.build}" includes="org/objectweb/fractal/aokell/glue/**/*.class" />
<!-- For the spoon version of the glue feature, the source code of spoon templates is also needed. -->
<!-- When the aspectj version of the glue feature, this line has no effect. -->
<fileset dir="${features.glue}/spoon/src" includes="org/objectweb/fractal/aokell/glue/**/*Template.java" />
</jar>
</target>
</project>
<!--
! AOKell
! Copyright (C) 2005-2006 INRIA, France Telecom, USTL
!
! 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
!
! Contact: Lionel.Seinturier@lifl.fr
-->
<project name="AOKell-lib" default="jar.lib">
<target name="jar.lib">
<!-- fcinterface feature -->
<condition property="jar.feature.fctinterface" value="rt">
<not> <isset property="feature.fcinterface.ct" /> </not>
</condition>
<condition property="jar.feature.fctinterface" value="ct">
<isset property="feature.fcinterface.ct" />
</condition>
<!-- glue feature -->
<condition property="jar.feature.glue" value="spoon">
<not> <isset property="feature.glue.aspectj" /> </not>
</condition>
<condition property="jar.feature.glue" value="aspectj">
<isset property="feature.glue.aspectj" />