Releases: CAAPIM/gateway-developer-example
0.5.00
New Features in 0.5.00
Dependencies on Other Bundles
You can now declare dependencies on other bundle. For example, see the following gradle build file snippet
dependencies {
bundle group: 'com.example', name: 'common-policies', version: '1.0.00', ext: 'bundle'
}
Adding the above dependency allow you to refer to policies and encapsulated assertions that are available in the common-policies
bundle. For example, if the common-policies
bundle contains a policy with path common-policies/utilities/lookup-user
. You could add it as a policy include:
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy" xmlns:L7p="http://www.layer7tech.com/ws/policy">
<wsp:All wsp:Usage="Required">
...
<L7p:Include>
<L7p:PolicyGuid policyPath="common-policies/utilities/lookup-user.xml"/>
</L7p:Include>
...
</wsp:All>
</wsp:Policy>
Adding support for policy backed services
Policy Backed Services will now be exported and can be managed by the two plugins. If the folder that your solution is located in contains a policy backed service, the associated policy backed service metadata will be exported along with your policy. The policy backed services are listed in src/main/gateway/config/policy-backed-services.yml
. An example of two policy backed services:
background-task-service:
interfaceName: "com.l7tech.objectmodel.polback.BackgroundTask"
operations:
- policy: "gateway-solution/policy-backed-services/policy-backed-service-1.xml"
operationName: "run"
another-background-task-service:
interfaceName: "com.l7tech.objectmodel.polback.BackgroundTask"
operations:
- policy: "gateway-solution/policy-backed-services/policy-backed-service-2.xml"
operationName: "run"
Bug Fixes
Exporting only the specified folder
There was an issue where if your policies referred to something outside of the solution folder those would also be exported. This is no longer the case.
Not overriding the build target
The plugin was overriding the gradle build target. This made it so that it could not be used with other gradle plugins. This has been fixed and the build target is no longer overridden.
Remove timestamp from global.properties file on export
On every export a timestamp was being updated in the global.properties file. This timestamp has been removed.
Build using Java 8
The plugins are now built using Java 8. This means that Java 9 or higher is no longer required to run these plugins. However, sometime in the future this will be updated once again.
Other changes
Add Gradle Wrapper
In order to make it simpler and more consistent across environments when building the plugins the gradle wrapper was added to the plugin repositories.
Integration into travisCI and SonarCloud
Continuous integration workflow was added by integrating into TravisCI for building the plugins and SonarCloud for checking the code.