subprojects { apply plugin: 'java' apply plugin: 'idea' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '2016.1.0' jar { manifest.attributes provider: 'gradle' } // Use the 'vendor' configuration for specifying files. // // We don't use the standard 'compile', 'runtime', 'provided', because all // we want to do here is download on occasion into a local directory. // // Managed dependencies wreak havoc with our internal build practices at // Perforce. configurations { vendor plugin } repositories { mavenCentral() } // This task will download all transient dependencies declared in vendor // blocks. // // Third party libs already used in other projects should get excluded here. // task getdeps(type: Copy) { description 'Downloads vendor dependencies into local directory.' from configurations.vendor into "$projectDir/vendor" } task getplugins(type: Copy) { description 'Downloads plugin dependencies into local directories' from configurations.plugin into "$projectDir/plugins" } idea { module { downloadSources = true } } } apply plugin: 'distribution' apply plugin: 'java' distributions { main { baseName = 'helix-web-services' contents { from '.' exclude '**/build/**' exclude '.*' } } } distTar { compression = Compression.GZIP } task primaryBuild { description 'The first major build procedure that tests and produces most ' + 'pre-test deliverables, the source archive. Run documentation ' + 'tasks before this step.' dependsOn 'build', 'testing:runAll', 'install4j:media' } task wrapper(type: Wrapper) { gradleVersion = '2.11' }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#22 | 19656 | tjuricek |
Use 'build' task not 'assemble' in 'primaryBuild' task, which will trigger any unit tests as they are added. Re-remove the 'localhost' configuration from the post-config install step: this is now done as part of testing. The HWS install really shouldn't make assumptions about where p4d is, unless we decide to ask for it somehow. |
||
#21 | 19553 | swellard | Move and rename clients | ||
#20 | 19536 | swellard | Import Eclipse projects replacing any / with - | ||
#19 | 19007 | tjuricek |
Remove javadoc and yard "jar" distribution formats. The documentation for all client SDKs are a part of the user guide. |
||
#18 | 18846 | tjuricek |
Added test setups for p4d versions going back to r14.1. There is now a big single testng test suite that runs through most of these variations. I've switched to using the p16.1 builds by default, which can easily be switched to the r16.1 builds. Mainline p4d builds are still in use, since they are informative. We may want to not use those on candidate line runs, however. |
||
#17 | 18810 | tjuricek |
First-pass at JavaScript client SDK. JavaScript requires Node with Gulp to "browserfy" the library. It's the easiest way I found to use the swagger-js project; bundle up a wrapping method. There is no JavaScript reference guide. The swagger-js doesn't really document what they do very well, actually. Overall I'm not particularly impressed by swagger-js, it was hard to even figure out what the right method syntax was. We may want to invest time in doing it better. This required setting CORS response headers, which are currently defaulted to a fairly insecure setting. |
||
#16 | 18807 | tjuricek | Run the Ruby client SDK tests outside of the normal build process. | ||
#15 | 18805 | tjuricek |
Added a minimal test suite integration with gradle, and include the gem in the installation process. The installers didn't quite get the revised versions of clients too, so I fixed that as well. We'll follow up with more tests in later work. |
||
#14 | 18798 | tjuricek |
Report supported platform versions in the default request, if we accept application/json. Added a method to the Java client SDK to check if it's a supported version. |
||
#13 | 18795 | tjuricek | Use point-release versioning for the client SDKs and installers. | ||
#12 | 18785 | tjuricek | Revise the git fusion repository models. | ||
#11 | 18679 | tjuricek |
Revising HWS paths to work primarily at product version 2016.1. The swagger definitions will primarily work at a major platform release number. We will generate new clients for each major release, and ensure backwards compatibility as time goes on by keeping the older clients around in the tree. Note: These are JUST URLs, and do not include other revisions we plan on making shortly. |
||
#10 | 18630 | tjuricek |
Changing the p4d in use from 15.2 in ftp to mainline, and, adding alternative configurations to run r15.2 and r16.1 p4d locally. We'll run through these alternatives first. The distribution test runs will only run mainline builds (well, for the HWS mainline). I have *NO CLUE* how to make this smooth in the EC module configuration. So I'm going the route of syncing everything, because the platform variables set for my builds don't seem to match up with the p4d variables. |
||
#9 | 18605 | tjuricek |
Document a simplified method for obtaining the Java client SDK handle. The client SDK is included as a part of the distribution. Javadoc is included in a subdirectory and hosted directly. A stupid simple HTML page was added by default to give people something to access right after installation. |
||
#8 | 18585 | tjuricek | Adding JavaDoc reference for client libraries to package distributions. | ||
#7 | 18467 | tjuricek | Windows "binary archive" distribution testing (and automation) | ||
#6 | 18252 | tjuricek |
Remove documentation dependencies from the install4j tasks. The doc tasks to convert DocBook XML must be run separately. These tasks do not check for status very well, and tend to constantly run no matter what. Also, if they are run within a dependency chain, they can leave artifacts in the curent working directory. This puts a dependency on the module conf to run a "build", but that is where the new automation tasks to simulate the build comes from. |
||
#5 | 18238 | tjuricek |
Documentation-building related tweaks: - Reference the documentation from the local build, not the build archive, since that doesn't exist yet. - When gradle calls the publicsite ant task, it should be within the doc/ directory, otherwise, a publicsite-generated/ directory will appear in the root directory (and in the doc/ directory) and you won't get everything in one place. |
||
#4 | 18234 | tjuricek |
Switched to gradle to drive the "hws.archive" build logic. While not absolutely critical, the main build system logic now runs on all OSes. The main trick is to understand that testing tasks can list a "finalizer" dependency to clean up even in the case of failure. The RVM logic will be "pushed out" into the build.conf. Given that we only need Ruby for mock_raymond (the Helix Cloud tests) this isn't that crazy. |
||
#3 | 17323 | tjuricek |
Revise the documentation to use the JVM-based asciidoctor. This will generate the DocBook XML. I'm still ironing out exactly what the CD process is here. |
||
#2 | 17154 | tjuricek |
Move tarball generation into gradle from Rake. There may yet be issues with Ruby dependencies in the new build process, but this should be easier. I'm leaving the rake tasks in there for now, since I haven't purged all Ruby logic any way. |
||
#1 | 17140 | tjuricek |
Integrating porting work from development branch. This work is now ready for testing/CD integration. |