This repository contains the source code for PowerDeComposer. PowerDeComposer is a utility that can be used to manage PowerDesigner models with the version control system of your choice. The utility can compose and decompose PowerDesigner models.
When multiple people work on the same PowerDesigner model, applying version control on the model as a whole leads to a lot of merge conflicts. PowerDeComposer breaks a model down into files that contain only one table, data source etc which reduces the amount of potential merge conflicts. To make the model usable in PowerDesigner again, PowerDeComposer can also compose the complete model back from the individual files that are in version control.
PowerDeComposer is open source, released under the GPLv3 license. The source code and executable Jar file can be found in this repository and in the Maven public repository. Information about PowerDeComposer can also be found on the website
In order to make the usage of PowerDeComposer a bit simplier a PowerShell module with example decompose configurations and scripts are created. These can all be found here.
In order to release PowerDeComposer into Maven Central we use a docker container and a local certificate. Follow the sections below to publish a new release.
In order to sign code for nexus, you need to have PGP certificates locally and public key shared with a keyserver. Follow the steps on this website to setup PGP and generate a key-pair.
You don't need to have Maven installed locally, it will be ran via Docker. We do need a Maven settings file for the authentication details. For this, create the file .m2/settings.xml with the following contents and replace the placeholders with your credentials:
<settings>
<servers>
<server>
<id>ossrh</id>
<username>{NEXUS/JIRA USERNAME}</username>
<password>{NEXUS/JIRA PASSWORD}</password>
</server>
<server>
<id>pgp</id>
<passphrase>{PGP KEY PASSPHRASE}</passphrase>
</server>
</servers>
</settings>
In order to publish the release, execute the following command in the root of the repository:
./publish-to-maven.ps1