sailpoint-oss / rule-development-kit

A development environment setup for creating rules.
MIT License
7 stars 25 forks source link

[FEATURE] Publish the rule-java-docs JAR file to Maven Central #3

Open drosenbauer opened 1 year ago

drosenbauer commented 1 year ago

Please publish the rule-java-docs JAR to Maven Central or another publicly accessible Maven repository.

Third-party and internal devops tools, including the ones my company is developing, would benefit from being able to include that JAR and its dependencies in a project automatically without having to clone the entire RDK.

tyler-mairose-sp commented 1 year ago

This is definitely the right thing to do. I can work on getting this up on maven with the ability to be added as a regular dependency.

drosenbauer commented 1 year ago

Actually, thinking about this further, the way this is likely to be used is to include the whole RDK, Mockito and all, as a test dependency. The test classes are best not part of the same project as the RDK. This might be in Maven or Gradle. So this means three things:

1) Push the rule-java-docs-1.0.jar separately as a Maven library.

2) Push the whole RDK itself as a Maven library, depending on the first.

3) Switch the "test" dependencies in the pom.xml to be "provided" dependencies. The customer's own build will include the whole RDK as a test dependency.

Otherwise, what you're going to end up with is a bunch of disconnected forks, where customers store a copy of the RDK in their own repository and invoke it ad-hoc during builds. This has the same problems as the SSF or the Accelerator Pack, where you can't verify which version of the RDK any particular customer is using.

In other words, the customer's repo would probably be structured something like this:

project/
   config/
      RULE/
         Rule-BeforeProvisioning-Whatever.xml
      ...
   src/
      test/
         java/
            TestWhateverBP.java
   pom.xml (or build.gradle)