-
Notifications
You must be signed in to change notification settings - Fork 11
c1 Project Setup
Anything that can be coded and wrapped in an Ivy project can be served as market product. In order to distribute it in a secure and effective way, the Ivy infrastructure needs the product available as a Maven compliant workspace. The code, its build infrastructure and target repository will live (free of charge) on Github.
A great example on how a market product needs to be setup is the A-Trust connector. You can use this connector as reference if you are unsure on how to implement your product.
Follow these steps to create your market product:
- Login to Github.com or create a new account if you do not have one yet.
- Create your own product repo by copying our template.
- Adjust the names in the
pom.xml
right in your browser- Click on the pom.xml and start editing
- Set your product
name
andartifactId
- Indicate the platform version that supports your product by settings the
<version>
- Save your changes by committing to master
- Clone the created repository onto your local disc.
- Import your local repository into the Axon Ivy Designer via
Import
->Maven
->Existing Maven Project
Use the Axon Ivy Designer to create three distinct projects within the local repository:
- A main project
- A demo project
- A test project
Create the new project from the previously imported module project.
Create the main project that contains the product you want to share. Be careful that the name matches the one you entered in the pom.xml back in step 3.
Create a demo project that demonstrates a valid use-case of your product. After clicking Next in the wizard, set the previously created project as dependency.
Go to pom.xml
and change the version of your product to ${project.version}
. So you no longer need
to maintain the correct version here.
Create a test project (created using the New Ivy Test Project
wizard) that assures the quality of the product.
- Select the product as project under test and pick testing flavors you would like to use.
- Change the project name so it ends with
-test
.
Go to pom.xml
and change the version of your product to ${project.version}
. So you no longer need
to maintain the correct version here.
To prevent that the test artifact gets deployed to the maven repository. Disable the deployment by adding
this code snippet to the pom.xml
of your test project.
<build>
...
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
...
</build>
In all 3 created projects, navigate to pom.xml
and open the Deployment editor. Set the same project version as in the main module pom.xml (e.g. 9.2.0-SNAPSHOT
)
It should likewise match a release of the Axon Ivy platform you are going to comply with.
- Add, commit and push the created project files to Github.com.
- A GitHub Action build will run automatically and verify that the projects can be built and published with Maven.
- Finally, you can start implementing your product, its demo and the tests.