5. My Role
• Engineering Tools
• We help, when and where we can
• Build, Bake, Deploy, Monkey
• Lead on internal Gradle and Ant builds
6. Environments
All of Maven Central
Publish to Sonatype
Maven On The Outside
Done in the public
Setup everything
No Maven Central
Publish to Artifactory
Ivy On The Inside
Legacy Conventions
Minimal Setup
13. gradle-template
• Be as visible as possible
• Meant to be synced with (#git #ftw)
• Templates for multiple-module and single-module
projects
• Used by other companies
• https://github.com/Netflix/gradle-template
14. Phase 2: Full Build
• Release plugin [gradle-release]
• Publish snapshots, candidates and releases
• Simpler signing in Jenkins
• License and Copyright Headers [license-gradle-plugin]
• Any plugins in Bintray
• Publishing Javadoc
• More code quality checks
16. Problem Areas
• Java plugin required for conf2scope mappings to work
• Java plugin resets status [GRADLE-2087]
• Parent poms caused problems, but aren’t needed
• Sonatype username/password
• Signing keys needed locally with special properties
• Not all plugins were available
17. Future
• Roll features into plugins
• Merge with internal build
• Hire more engineers to work on Gradle
Where it all beganLegal does horribly code reviews Freedom & Responsibility to release it
We knew they’d be grow, though we never thought it’d be like this. Currently 26 Projects, all used internally in production: http://netflix.github.io/#repo
Goals Establish our solutions as Best Practices/Standards Build up Netflix Technology Branch Retain and Engage Top Engineers Benefit from a shared ecosystemWhat Cloud Platform Undifferentiated Heavy Lifting
With that in mind, we don’t have to make an open source build. But we should, since we’re the best placed to do it.
Planned on using internally. Apply plugin: ‘java’
Cobbled together from blog posts Users had to set version
Attempting to mimic the internal build, where the minimum is specified.
gradle-release version Tag in SCM Ensure builds against internal and external