<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steademy Blog &#187; technology</title>
	<atom:link href="http://blog.steademy.com/tag/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.steademy.com</link>
	<description>Steademy - steademy for every message</description>
	<lastBuildDate>Mon, 25 Jan 2010 22:19:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>maven-par-plugin</title>
		<link>http://blog.steademy.com/2008/05/29/maven-par-plugin/</link>
		<comments>http://blog.steademy.com/2008/05/29/maven-par-plugin/#comments</comments>
		<pubDate>Thu, 29 May 2008 09:50:22 +0000</pubDate>
		<dc:creator>steademy</dc:creator>
				<category><![CDATA[OSGI]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.steademy.com/?p=6</guid>
		<description><![CDATA[Introduction The maven-par-plugin was designed to allow developers create s2ap compliant par packages and deploy them to the platform. This plugin might not work for any other purpose. Usage A long howto is not required as the purpose of this plugin should be clear. Thus I will concentrate on the configuration and a simple usage [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
The maven-par-plugin was designed to allow developers create s2ap compliant par packages and deploy them to the platform. This plugin might not work for any other purpose.</p>
<p><strong>Usage</strong></p>
<p>A long howto is not required as the purpose of this plugin should be clear. Thus I will concentrate on the configuration and a simple usage pattern.</p>
<p>The infrastructure pom.xml acts as an example of how this plugin is used on our platform.<br />
The initial directory structure looks like:</p>
<pre>infrastructure
  | --&gt; hsqldb
  | --&gt; par
</pre>
<p><strong>par/pom.xml</strong></p>
<pre name="code" class="xml">
      <?xml version="1.0" encoding="UTF-8"?>
<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>
              <artifactId>infrastructure-par</artifactId>
              <version>${service.version}</version>
              <name>S2AP Par bundle</name>
<packaging>par</packaging>
              <description>So long and thanks for all the fish</description>
              <repositories>
         <repository>
           <id>steademy</id>
           <name>Staademy repository</name>
           <url>http://repo.steademy.com/beta/maven2</url>
         </repository>
       </repositories>
<parent>
                <groupId>com.steademy.service.infrastructure</groupId>
                <artifactId>parent</artifactId>
                <version>SNAPSHOT</version>
              </parent>

              <dependencies>
                      <dependency>
                              <groupId>com.steademy.service.infrastructure</groupId>
                              <artifactId>hsqldb</artifactId>
                              <version>${service.version}</version>
                      </dependency>
              </dependencies>

              <build>
<plugins>
<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-par-plugin</artifactId>
                    <version>0.2.0</version>
                    <configuration>
                       <fqn>true</fqn>
                       <applicationSymbolicName>com.steademy.service.infrastructure</applicationSymbolicName>
                       <applicationVersion>1.0.0</applicationVersion>
                       <applicationDescription>The db infrastructure</applicationDescription>
                       <applicationName>Application DB infrastructure</applicationName>
                   </configuration>
                 </plugin>
              </plugins>
             </build>
      </project>
</pre>
<p><strong>The repository</strong></p>
<p>In order to properly use the maven-par-plugin, you have to pick it up from our repository.<br />
The following repository entry must be added to your pom’s repository entries:</p>
<pre name="code" class="xml">
     <repositories>
          <repository>
            <id>steademy</id>
            <name>Steademy repository</name>
            <url>http://repo.steademy.com/beta/maven2</url>
          </repository>
       </repositories>
</pre>
<p>The packaging must be changed to par.</p>
<p><strong>par</strong></p>
<p><em>Dependencies</em><br />
The par/pom.xml simply aggregates all direct dependencies it finds. It does neither care about scopes nor indirect dependencies.</p>
<p><em>Plugin configuration</em></p>
<pre name="code" class="xml">
<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-par-plugin</artifactId>
        <version>0.2.0</version>
        <configuration>
             <fqn>true</fqn>
             <applicationSymbolicName>com.steademy.service.infrastructure</applicationSymbolicName>
             <applicationVersion>1.0.0</applicationVersion>
             <applicationDescription>The db infrastructure</applicationDescription>
             <applicationName>Application DB infrastructure</applicationName>
        </configuration>
     </plugin>
</pre>
<p>Explaining the tags in right order:</p>
<p>1. groupId -&gt; We use the default maven groupId<br />
2. artifactId -&gt; Do I need to tell you about it ???<br />
3. version -&gt; latest “stable” version is 0.2.0</p>
<p>You will use the configuration in order to describe the final .par related META-INF/MANIFEST.MF file.<br />
The tags applicationSymbolicName, applicationVersion, applicationDescription &amp; applicationName have been defined and set mandatory by the springsource guys. Our plugin will pickup your personal settings and create the MANIFEST.MF file accordingly.</p>
<p>The fqn (fully qualified naming) allows to create artifact files using the pattern</p>
<p>${groupId}.${artifactId}</p>
<p><em>Example:</em><br />
Our infrastructure par with fqn=true looks echos the following log entries:</p>
<pre>[INFO] infrastructure-par
[INFO] artifact hsqldb is copied with fully qualified name com.steademy.service.infrastructure.hsqldb-SNAPSHOT
[INFO] added com.steademy.service.infrastructure.hsqldb-SNAPSHOT.jar
[INFO] [install:install]
[INFO] Installing /home/tmaus/workspaces/beta-01/infrastructure/par/target/infrastructure-par-SNAPSHOT.par to /home/tmaus/.m2/repository/com/steademy/service/infrastructure/infrastructure-par/SNAPSHOT/infrastructure-par-SNAPSHOT.par
</pre>
<p>The same maven build using  fqn=false would produce the following log:</p>
<pre>[INFO] infrastructure-par
[INFO] added hsqldb.jar
[INFO] [install:install]
[INFO] Installing /home/tmaus/workspaces/beta-01/infrastructure/par/target/infrastructure-par-SNAPSHOT.par to /home/tmaus/.m2/repository/com/steademy/service/infrastructure/infrastructure-par/SNAPSHOT/infrastructure-par-SNAPSHOT.par
</pre>
<p>Switching this tag to true increases the readability of the deployed bundles within your s2ap/admin extremely.</p>
<p>So long and thanks for all the fish</p>
<p>t.maus</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.steademy.com/2008/05/29/maven-par-plugin/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Steademy Introduction</title>
		<link>http://blog.steademy.com/2008/05/03/steademy-introduction/</link>
		<comments>http://blog.steademy.com/2008/05/03/steademy-introduction/#comments</comments>
		<pubDate>Sat, 03 May 2008 17:48:57 +0000</pubDate>
		<dc:creator>steademy</dc:creator>
				<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://blog.steademy.com/?p=4</guid>
		<description><![CDATA[Steademy technology is based on SOA with OSGI and Spring.]]></description>
			<content:encoded><![CDATA[<p>Steademy technology is based on SOA with <a title="Open Services Gateway initiative" href="http://www.osgi.org">OSGI</a> and <a title="spring framework" href="http://springframework.org">Spring</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.steademy.com/2008/05/03/steademy-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
