Releases: Osiris-Team/1JPM
Latest
3.2.0
Add support for native installers and executables
3.1.0
1JPM automatically resolves parent and child projects
See project.isAutoParentsAndChildren.
If true updates current pom, all parent and all child pom.xml
files with the respective parent details, adding seamless multi-module/project support.
This expects that the parent pom is always inside the parent directory,
otherwise a performant search is not possible since the entire disk would need to be checked.
1JPM helps porting your multi-module project
Add JPM.java to your root project directory and add JPM.portChildProjects(); before building.
This is going to download and copy the latest JPM.java file into all child projects it can find
in this directory, and also run it to generate an initial pom.xml for that child project.
The child projects name will be the same as its directory name.
A child project is detected
if a src/main/java folder structure exists, and the parent folder of src/ is then used as child project root.
Note that a child project is expected to be directly inside a subdirectory of this project.
Now project.isAutoParentsAndChildren will work properly, since all needed pom.xml files should exist.
3.0.3
- improve dir structure and move ThisProject class so that it is accessible from outside
- add sync run config and .vscode tasks run configs
3.0.1
made various properties public
3.0.0
(ChatGPT) Here's a summary list for the diff:
-
Imports Updated:
- Replaced
BiConsumerwithConsumer.
- Replaced
-
ThisProject Class:
- Moved the
forceImplementationcomment. - Added comments for adding additional plugins.
- Rearranged and clarified dependency addition comments.
- Moved the
-
Class Removed:
- Removed
Pluginsclass definition.
- Removed
-
ThirdPartyPlugins Class:
- Added instantiation in static block of
JPMclass to ensure plugins are added.
- Added instantiation in static block of
-
Dependency Class:
- Added
fromGradleStringstatic method. - Added
excludedDependenciesandtypeattributes. - Added
excludemethods. - Updated
toStringandtoXMLmethods to handle new attributes.
- Added
-
Repository Class:
- Added
isSnapshotsAllowedattribute. - Updated
toXMLmethod to handleisSnapshotsAllowed.
- Added
-
XML Class:
- Renamed
getOrCreateElementtogetElementOrCreate. - Added
removeandrenamemethods. - Added
getElementOrNullhelper method.
- Renamed
-
Plugin Class:
- Updated
beforeToXMLListenersto useConsumer<Details>. - Removed configuration, executions, and dependencies fields.
- Added
Detailsinner class to encapsulate plugin details and manage configuration, executions, and dependencies. - Updated
toXMLmethod to useDetails.
- Updated
-
Execution Class:
- Updated
toXMLmethod to handle optionalid.
- Updated
-
Project Class:
- Defaulted
pluginstoJPM.plugins. - Added
profilesattribute and related methods. - Updated
testImplementation,implementation,addDependency, andforceImplementationmethods to returnDependency. - Added
putPluginmethod for plugin management. - Added
addProfileandtoXMLmethods. - Updated
generatePomto usetoXML.
- Defaulted
-
Profile Class:
- Added
Profileclass extendingProject. - Overridden
toXMLmethod for profiles.
- Added
2.2.0
- fix goals being put not added
- made plugin api nicer to work with
2.1.1
✅ Production ready
At least working here: https://github.com/Osiris-Team/AutoPlug-Client/blob/master/src/main/java/JPM.java
2.1.0
- multiple fixes
- allow plugins access to complete pom xml
2.0.1
- fix not all dependencies being added
- enhanced template structure