Creating-your-own-wso2-carbon-components webinar illustra la creazione di componenti in carbonio e una funzionalità per tali componenti. Copre un bel po 'di basi e buone pratiche pure.
Per ospitare le funzioni create che sono state scritte, è necessario generare un repository p2 da quelle funzionalità. Il concetto p2-repo deriva dal progetto sottolineato Eclipse equinox utilizzato dai prodotti WSO2.
WSO2 ha scritto il proprio plugin Maven chiamato carbon-p2-plugin che aiuta a generare un ppo-repo. Ecco come puoi farlo. È sufficiente creare un nuovo progetto Maven (packaging: pom) e quindi impostare le funzionalità che si desidera pubblicare sotto la configurazione del plugin carbon-p2-plugin. Di seguito è riportato un esempio di pom.xml che è possibile utilizzare. Questo è stato copiato dal p2-repo generation pom.xml of carbon 4.1.0 e l'ho semplificato.
Ho testato questo file pom, ha funzionato per me. Esistono due definizioni di funzionalità di esempio. Sostituisci quelle featureArtifactDef con le tue definizioni di funzione. Il formato è $ groupId: $ artifactId: $ version.
Quando si crea questo tramite maven, maven crea la directory target/p2-repo. Questo contiene il repository p2 che contiene il repository p2 completo, compresi artifacts.jar e content.jar. Puoi semplicemente usare questa cartella per installare le funzionalità, oppure puoi ospitarla da qualche parte. Non ci sono requisiti speciali per l'hosting.
<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>org.wso2.carbon</groupId>
<artifactId>carbon-features</artifactId>
<version>4.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>mysample-feature-repository</artifactId>
<version>4.1.0</version>
<packaging>pom</packaging>
<name>WSO2 Carbon - Feature Repository</name>
<build>
<plugins>
<plugin>
<groupId>org.wso2.maven</groupId>
<artifactId>carbon-p2-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<id>2-p2-repo-generation</id>
<phase>package</phase>
<goals>
<goal>p2-repo-gen</goal>
</goals>
<configuration>
<p2AgentLocation>${basedir}/target/p2-agent</p2AgentLocation>
<metadataRepository>file:${basedir}/target/p2-repo</metadataRepository>
<artifactRepository>file:${basedir}/target/p2-repo</artifactRepository>
<publishArtifacts>true</publishArtifacts>
<publishArtifactRepository>true</publishArtifactRepository>
<featureArtifacts>
<!-- change the featureArtifactDef to match your needs -->
<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.service.mgt.feature:4.1.0
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.registry.core.feature:4.1.0
</featureArtifactDef>
</featureArtifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
fonte
2013-04-22 20:38:56