This commit introduced a new flag to enable SetNumInstancesCommand to
be able to set the number of instances for all non-live versions for
a given service or for all deployed services.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222826003
This CL adds two ways to build an docker image with gradle:
1) Adds a :proxy:deployJar task that builds an uber jar that contains all runtime dependencies. The jar can then be add to a docker image by calling docker with the added Dockerfile. The base image for this image can be both distroless java or openjdk:alpine.
2) Uses the Gradle distribution plugin to build a distribution tar file that contains all dependencies (as separate jar files) and a run script that sets up the classpath before calling the main class. Then the docker application plugin can build a docker image (with the dockerBuildImage task) using the application tar file. This only works with openjdk:alpline base image as the distroless java image does not contain a shell and therefore the script created by the distribution plugin cannot be launched.
We may later decide to use one of the method and remove the other.
Also adds an outcast test pattern that caused the tests to be flaky.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222145192
It will make it easier later to have the proxy project depend on it, rather
than on the entire core project
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222081994
1. Updated nebula lint version to 10.3.1
2. Do not apply plugins in the root projects that are not needed.
3. Only do linting when a build is successful, so that build failure message are not flushed by linter warnings.
4. Added explicitly stated java source and target version.
5. Moved source sets set up to the root project so that it applies to all subprojects. Currently there is only "core", but we will add at least "proxy" and "util" later, both of which will use mostly the same source sets (but with additional inclusion rules to only build classes in a specific sub folder in the source tree). By putting the set up closure inside the subprojects block in the root script, it can be reused.
6. Rename maybe_runtime configuration to maybeRuntime, which is consistent with other camelCase configuration names like testCompile.
7. Added a runtime dependency of the JAXB API which is removed from Java SE as of version 11.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222081092
These source sets are not configured correctly (no classpaths for example) and
they subsequently cannot compile. The special tests are put into separate tasks that
run from the same source set (test).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=222080273
Tests are divided into three test suites without intra-suite conflicts.
This allows us to unset forkEvery=1 (4x improvement on my desktop) and
increase execution parallelism (additional 2x improvement on my desktop).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=221656972
Without the net.ltgt.apt plugin, Dagger does not retain generated source code,
and AutoValue mixes generated source code with classes. The new plugin fixes this
problem, making it easier to work with IDEs.
Based on limit experience, Intellij Idea can properly import this project. We
may consider adding IDE-specific plugins in the future.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=220802052
Enabled unused-dependency check using nebula-lint.
Dependencies that are not used by compile or testing are
labeled with 'maybe_runtime". We leave these dependencies
in the script for easy reference. Before launching Gradle-based
release process we must determine which of these should
be removed and which should be relabeled as runtime.
Label assignment:
- All dependencies recommended for removal from 'compile'
are changed to maybe_runtime
- All dependencies recommended for move from 'compile' to
testCompile are split into two lines, one with testCompile,
the other maybe_runtime
Incidentally, Gradle 4.10.2 needs a groovy upgrade before
it can work with Oracle JDK 11.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219803797
Updated the project config so that the plugin can work.
Reverted to the deprecated compile/testCompile labels
so that the plugin can work. This plugin provides valuable
checks that we do not want to give up.
Added undeclared-dependency check. Still need to add
unused-dependency and one-version check.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219406600
In Java 9+, this module is no longer loaded by default. JAXB needs it to compile.
Also changed the root project name to "nomulus".
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=219000053
Move configs and dependencies from root script to subprojects.
There is not too much commonality between subprojects. Besides,
the gradle lint plugin (not added to this project yet) does not
handle inherited dependencies properly.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=218698818