The 0.5.00 version of the Gateway Developer Plugin and the Gateway Export Plugin were just released! This adds two new features and includes a few bug fixes.
Try it Out
Try out the plugins cloning the Gateway Developer Example repository.
git clone https://github.com/ca-api-gateway-examples/gateway-developer-example.git
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
bundle group: 'com.example', name: 'common-policies', version: '1.0.00', ext: 'bundle'
Adding the above dependency allows 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">
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:
- policy: "gateway-solution/policy-backed-services/policy-backed-service-1.xml"
- policy: "gateway-solution/policy-backed-services/policy-backed-service-2.xml"
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.
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.