* Update NPM plugin and hardcode versions of Node / NPM to use
The plugin we were using before was a bit old (last updated in March
2019) and this one is newer, updated, and updates the package-lock file
with the new dependency upgrades
1. The Gradle apt plugin is no longer needed to process annotations.
2. Without the apt plugin, Gralde puts the source files generated by
annotation processors in build/generated/sources/annotationProcessor.
3. Change the location of custom generated files to be consistent.
4. Fix a javadoc formatting error.
* Add a "buildFmt" gradle target
This does the same thing as the automatic Java build target, except instead of
failing if the code formatting isn't correct, it just automatically reformats as
necessary and continues on.
* Remove unnecessary mustRunAfters
* Make it run tests too, and add :taskTree task
* Rename task to coreDev and remove run afters
* Add task tree dependency
* Actually that may not be necessary
Our existing uber jar task overwrote duplicate files when merging JARs,
and this would break the application using Java SPI service(Beam library
is one of them) so we changed to use ShadowJar plugin as it provides a
convenient way to merge META-INF/services/* files when generating the
uber jar.
TESTED=Deployed spec11 pipeline successfully with the new nomulus.jar;
also randomly checked a few nomulus commands to make sure they are still
working.
Original change by cpovirk@cpovirk:rosie251284456-0055_Rosie:31511:citc on 2019/06/04 09:48:27.
Update to Truth 0.45, and address deprecations.
Renames may include:
- containsAllOf => containsAtLeast
- containsAllIn => containsAtLeastElementsIn
- isSameAs => isSameInstanceAs
- isOrdered => isInOrder
- isStrictlyOrdered => isInStrictOrder
The other major change is to change custom subjects to extend raw Subject instead of supplying type parameters. The type parameters are being removed from Subject. This CL will temporarily produce rawtypes warnings, which will go away when I remove the type parameters (as soon as this batch of CLs is submitted).
Some CLs in this batch also migrate calls away from actualAsString(). Its literal replacement is `"<" + actual + ">"` (unless an object overrides actualCustomStringRepresentation()), but usually I've made a larger change, such as switching from an old-style "Not true that..." failure message to one generated with the Fact API. In that case, the new code usually contains a direct reference to this.actual (a field that I occasionally had to create). Another larger change I sometimes made is to switch from a manual check-and-fail approach to instead use check(...). And sometimes I just remove a withMessage() call that's no longer necessary now that the code uses check(...), or I introduce a check(...) call. (An assertion made with check(...) automatically includes the actual value from the original subject, so there's no need to set it again with withMessage().)
Finally, there's one CL in this batch in which I migrate a Correspondence subclass to instead use Correspondence.from.
END_PUBLIC
If this is too many changes at once, let me know, and I can split it up and/or explain further. In the past, I've erred on the side of sending separate CLs for each change, which has required some owners to manually reapply each one, so now I'm trying this way.
Thanks again for your patience. There is an outside chance that this will be the last CL I send you before Truth 1.0 -- but certainly no promises :)
More information:
Renames:
[]
[]
[]
Removing type parameters: []
Migration from old fail*(...) methods to new ones and to check(...): []
Changes that replace assert*(...) with introduce check(...): []
Correspondence subclass to Correspondence.from: []
Tested:
TAP --sample ran all affected tests and none failed
[]
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=251921007
This makes it easy to experiment with new dependency versions or new plugins
without having to update the lock files, by adding "-PdisableDependencyLocking=true" to any gradle command.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=249463575
This fixes linter errors when running gradle commands. However the investigation into the linter error revealed potential problematic behaviors with dependency resolution in Gradle. See the attached bug for details.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=249256283
I was testing this to see what the error was and I can't find one, so I assume it must have just been fixed at some point
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=248551972
This CL made the following changes to achieve the purpose:
1. Modified HttpProxy.java to generate a file containing Maven
coordinates for all requested JAR files. This is to replace
Gradle task "generateMavenCoordinateForDependency" which served
for the same purpose before. The reason is during the course
of the build, Gradle may request some POM file of a artifact
for some reason but it doesn't actually need the JAR file.
However, task "generateMavenCoordinateForDependency" cannot
identify this use case so it added more JARs to the dependency
which are not necessary and are not consistent with what we
get from HttpProxy.java. Going forward, we will use HttpProxy.java
as the single source to provide dependency.
2. Updated update_deps_metadata.py to retrieve *-sources.jar for each
dependency for obvious reason.
3. Improved update_dependency.sh by removing 1 unnecessary build.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=247607871
Make root build.gradle easier to read:
- Moved appengine war-assembly into separate script
- Moved java static analysis configs to separate script,
for easier sharing with buildSrc folder.
Update Gradle config in the buildSrc folder:
- Applied static analysis, and cleaned up a few style and
dependency lint errors.
- Added dependency locks
- Set up Google java format enforcement (Spotless)
since this is new code.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=246858172
Also upgraded Guava to 27.1-jre and truth java8 extension to v0.44.
Also removed lockfiles no longer in use in Gradle 5.4.
Follow up change will update bazel dependencies.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=246515393
The pipeline is broken into two. The first one is to be triggered when the public repo is tagged. It then tags the private repo, builds and upload the builder and base images, and push a new commit to the release (merged repo). This pipeline also does text manipulation on several files in the release repo to ensure that the images uploaded in this pipeline is always used to reproducibly build the release repo at the same commit.
The second pipeline is then triggered by commit into the release repo, which builds, signs and uploads the proxy image.
Also updated the dependency lock files to use the latest plugins dependencies, which are uploaded to the GCS repo.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=244666211
The java compiler in the builder with new base image defaults to ASCII encoding.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=242726695
Also modified the deployment pipeline to upload artifacts for crash.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=242032822
Previously we had a few customized Gradle build task to manage
the Docker container for provisioning browser and ChromeDriverService
used by WebDriver tests. This CL changed to use a java library
from testcontainers.org to achieve the same purpose. The main
benefit of it is that we can expect to run the WebDriver tests
from IDE going forward.
Also, this CL refactored the structure of WebDriver related classes
to have JUnit rule to manage the lifecycle of WebDriver instance,
this is also compatible with the API from testcontainers library.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241539861
Collect the set of dependencies using the gradle proxy and push to GCS using
gcs_sync.
TESTED: Verified that the script works against both unupdated and up-to-date
dependency sets, verified that the proxy server is destroyed after completion.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241529357
*** Reason for rollback ***
The inconsistent class loading is breaking the tests
*** Original change description ***
Validate provided email addresses when creating a Registrar
***
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241014945
In [] a change would have been made to your project that is incompatible with
your open source integration. To make sure the open source variant of your
project remains working, we have eagerly updated your open source copy to use
Mockito 2. This CL integrates that change into [].
Please read []and
understand the consequences of this change.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=238445356