Skip to content

Commit

Permalink
feat: consolidate repos (#966)
Browse files Browse the repository at this point in the history
  • Loading branch information
JoeWang1127 committed Dec 9, 2023
2 parents a3fbdb1 + 8085104 commit a6606a0
Show file tree
Hide file tree
Showing 455 changed files with 18,585 additions and 536 deletions.
11 changes: 6 additions & 5 deletions .github/workflows/unit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@ jobs:
CLOUDSDK_CORE_DISABLE_USAGE_REPORTING: true
CLOUDSDK_CORE_DISABLE_PROMPTS: true
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
- uses: google-github-actions/setup-gcloud@v0.2.0
- uses: actions/cache@v2
distribution: temurin
- uses: google-github-actions/setup-gcloud@v1.1.1
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
Expand All @@ -42,4 +43,4 @@ jobs:
export PATH="${HOME}/google-cloud-sdk/bin:${PATH}"
gcloud components install app-engine-java --quiet
./mvnw -B -U --fail-at-end clean verify -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
./mvnw -B -U --fail-at-end -DskipITs clean install -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ target/
.metadata/*
.DS_Store
.checkstyle
app-gradle-plugin/.gradle/
app-gradle-plugin/build/

13 changes: 13 additions & 0 deletions .kokoro/continuous.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@echo on

REM Use Java 8 for build
echo %JAVA_HOME%

cd github/appengine-plugins

if not exist "%HOME%\.m2" mkdir "%HOME%\.m2"
copy settings.xml "%HOME%\.m2"

call mvnw.cmd clean install -B -U -DskipSurefire=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS

exit /b %ERRORLEVEL%
25 changes: 25 additions & 0 deletions .kokoro/continuous.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

# Fail on any error.
set -e
# Display commands to stderr.
set -x

sudo /opt/google-cloud-sdk/bin/gcloud components update --quiet
sudo /opt/google-cloud-sdk/bin/gcloud components install app-engine-java --quiet

cd github/appengine-plugins

# Use GCP Maven Mirror
mkdir -p ${HOME}/.m2
cp settings.xml ${HOME}/.m2

if [ "$EUID" -ne 0 ]
then
# not running as root
# TODO: skip unit tests because integration tests are running by maven-surefire-plugin with a unknown reason.
./mvnw clean install -V -B -U -DskipSurefire=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
else
# running as root - skip file permissions tests that don't work on Docker
./mvnw clean install -V -B -U -DskipSurefire=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS -Dtest=!FilePermissionsTest
fi
32 changes: 32 additions & 0 deletions .kokoro/continuous_mac.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

# Fail on any error.
set -e
# Display commands to stderr.
set -x

gcloud components update
gcloud components install app-engine-java

# Use adopt openjdk 8u202 until kokoro updates its macos images (b/130225695)
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u202-b08/OpenJDK8U-jdk_x64_mac_hotspot_8u202b08.tar.gz
tar -xzf OpenJDK8U-jdk_x64_mac_hotspot_8u202b08.tar.gz

JAVA_HOME="$(pwd)"/jdk8u202-b08/Contents/Home/
export JAVA_HOME

# temporary workaround until mvn is available in the image by default
# the integration tests rely on Maven being installed, cannot use the wrapper
curl https://storage.googleapis.com/cloud-tools-for-java-team-kokoro-build-cache/apache-maven-3.5.0-bin.tar.gz -o apache-maven-3.5.0-bin.tar.gz
tar -xzf apache-maven-3.5.0-bin.tar.gz

M2_HOME="$(pwd)"/apache-maven-3.5.0
PATH=$PATH:$M2_HOME/bin

cd github/appengine-plugins

# Use GCP Maven Mirror
mkdir -p ${HOME}/.m2
cp settings.xml ${HOME}/.m2

./mvnw clean install -B -U -DskipSurefire=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
2 changes: 1 addition & 1 deletion kokoro/release_build.sh → .kokoro/release_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ set -e
# Display commands to stderr.
set -x

cd github/appengine-plugins-core
cd github/appengine-plugins

# Use GCP Maven Mirror
mkdir -p ${HOME}/.m2
Expand Down
196 changes: 196 additions & 0 deletions app-gradle-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# Change Log
All notable changes to this project will be documented in this file.

## 2.5.1-SNAPSHOT

## 2.5.0

* Update to appengine-plugins-core 0.10.0 that supports GAE java17 and java21 runtimes.

## 2.4.5
### Changed
* Update to appengine-plugins-core 0.9.9, for automatic Java 17 compatibility when running local devserver [appengine-plugins-core#894](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/894).

## 2.4.4
### Changed
* Update to appengine-plugins-core 0.9.8 which includes [a version upgrade for gson to 2.8.9](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/889) and fix for [`StringIndexOutOfBoundsException`](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/890/files). ([#418](../../pull/418))

## 2.4.3
### Changed
* Update to appengine-plugins-core 0.9.7 for Java 17 compatibility ([#413](../../pull/413))

## 2.4.2
### Changed
* Update to appengine-plugins-core 0.9.5 ([#405](../../pull/405))

## 2.4.1
### Fixed
* Fixed bug when using `plugins` block in `build.gradle` ([#388](../../pull/388))

## 2.4.0
### Added
* `appengine.tools.verbosity` option for defining gcloud log verbosity ([#384](../../pull/384))

## 2.3.0
### Changed
* Update to appengine-plugins-core 0.9.0 ([#377](../../pull/377))
* Includes support for binary artifacts for app.yaml based deployments ([appengine-plugins-core:#840](https://github.com/GoogleCloudPlatform/appengine-plugins-core/issues/840))

## 2.2.0
### Changed
* Update to appengine-plugins-core 0.8.1 ([#364](../../pull/364))

### Added
* Automatically copy `Class-Path` entries in jar manifest to staging directory ([appengine-plugins-core:#804](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/804))

## 2.1.0
### Added
* `gcloudMode` to `appengine.deploy` block ([#356](../../pull/356))

## 2.0.1
### Fixed
* Remove release candidate warning ([#344](../../pull/344))

## 2.0.0
See 2.0.0-rc1 - 2.0.0-rc6 for details
### Key Changes
* Dev App Server
* `v2-alpha` support removed.
* `appengineStop` doesn't fail build on failure, just logs error
* Cloud Sdk
* `cloudSdkHome`, `cloudSdkVersion`, `serviceAccountKeyFile` added to
`appengine.tools` configuration block.
* `appengineCloudSdkLogin` to trigger cloud sdk login flow
* `checkCloudSdk` validates version of installed sdk on system
* Managed Cloud SDK
* Auto download google cloud sdk if no `cloudSdkHome` provided
* Skip download in `--offline` mode
* Do not download appengine components for app.yaml based deployments
* Auto inject command runners into customer user appengine tasks
* Support for multiple extra files directories: `extraFilesDirectory` -> `extraFilesDirectories`
* Support for app.yaml based standard deployments
* `project` is renamed to `projectId`
* `projectId` and `version` are required parameters. Must be set to a value or to `GCLOUD_CONFIG` to delegate to gcloud.
* `projectId` can be configured for multi-module dev appserver runs
* `deployables` config parameter removed
* `appYamls` config paramter removed

## 2.0.0-rc6
### Changed
* Remove support for `APPENGINE_CONFIG` option in `projectId` and `version` ([#325](../../pull/325))
* Remove support for `v2-alpha` devappserver version ([#336](../../pull/336))

### Fixed
* Actually skip downloading/updating the cloud sdk in offline mode ([#337](../../pull/337))

## 2.0.0-rc5
### Changed
* Update appengine-plugins-core to 0.7.3 ([#322](../../pull/322))
* Resolve `GCLOUD_CONFIG`,`APPENGINE_CONFIG` late ([#321](../../pull/321))
* Fix `UP-TO-DATE` configuration on some tasks ([#320](../../pull/320))
* Only download appengine components of cloud sdk when running compat projects ([#317](../../pull/317))
* `extraFilesDirectory`-> `ExtraFilesDirectories` ([#315](../../pull/315)), ([#316](../../pull/316))

## 2.0.0-rc4
### Changed
* Add deprecated error for `appengine.deploy.project` ([#295](../../pull/295))
* Old flex build path is now used for all app.yaml (standard and flex) based builds ([#310](../../pull/310))
* Update appengine-plugins-core to 0.7.1 ([#308](../../pull/308))

## 2.0.0-rc3
### Changed
* Changed `appengine.deploy.project` -> `appengine.deploy.projectId` ([#286](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/286)).
* New `appengine.run.projectId` to set project for devserver runs. ([#286](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/286)).


## 2.0.0-rc2
### Added
* Auto inject internal command runners into custom app engine tasks ([#279](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/279)).

## 2.0.0-rc1
### Added
* New `cloudSdkVersion` parameter to specify desired Cloud SDK version.
* New `downloadCloudSdk` task installs/updates the Cloud SDK and Java App Engine components ([#205](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/205)).
Task runs automatically when `cloudSdkHome` is not configured.
* New `checkCloudSdk` task validates the Cloud SDK installation ([#212](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/212)).
Task runs automatically when `cloudSdkHome` and `cloudSdkVersion` are both configured.
* New `appengine.tools.serviceAccountKeyFile` configuration parameter, and
`appengineCloudSdkLogin` task. ([#235](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/212))
* New `appengineDeployAll` task to deploy application with all valid yaml configs simultaneously. ([#239](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/239), [#240](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/240))

### Changed
* `appengineStop` no longer fails if the stop request to server fails, but it will log an error. ([#267](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/267))
* Upgrade App Engine Plugins Core dependency to 0.5.2.
* Remove deprecated `appYamls` parameter.
* `project` and `version` are no longer pulled from the global gcloud state by default. `project` must be configured in build.gradle using the `deploy.project` property, users may use special keywords for project to specify that they would like to read it from appengine-web.xml (`project = "APPENGINE_CONFIG"`) or from gcloud global state (`project = "GCLOUD_CONFIG"`). `version` is also configured the same way.
* Removed `deployables` parameter. To deploy specific configuration files, use the appropriate deploy tasks
(i.e. appengineDeployCron, appengineDeployIndex, etc.) ([#261](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/261)).

### Fixed

## 1.3.5

### Added
* Build Extensions Statically ([#192](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/192))

### Fixed
* Make extensions accessible to Kotlin users ([#191](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/191))

## 1.3.4

### Added
* Check minimum gradle version ([#169](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/169))
* New `<additionalArguments>` parameter to pass additional arguments to Dev App Server ([#179](../../pulls/179)),
relevant pull request in App Engine Plugins Core:
[appengine-plugins-core/433](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/433)

### Fixed
* Gradle 3.4.1 is required.
* Upgrade App Engine Plugins Core dependency to 0.3.9 ([#179](../../pulls/179))

## 1.3.3

### Added
* Log Dev App Server output to file ([#156](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/156))

### Changed
* Gradle 4.0 is required.
* Preserve datastore-indexes-auto.xml across non-clean rebuilds ([#165](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/165))
* Use sync instead of copy on the explodeWar task ([#162](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/162))

## 1.3.2

### Added
* Allow direct application of standard or flexible plugin ([#144](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/144))

### Fixed
* Fix path to appengine-web.xml in fallback detection of standard or flexible environment ([#136](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/136))

## 1.3.1
### Added
* New `environment` option in the `run` closure to pass environment variables to Dev App Server ([#128](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pulls/128)) ([appengine-plugins-core/381](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/381))
* Automatically read environment from `appengine-web.xml` ([appengine-plugins-core/378](https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/378))

### Changed
* Upgrade App Engine Plugins Core dependency to 0.3.2 ([#128](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pulls/128))

## 1.3.0

### Changed
* `appengineShowConfiguration` no longer prints the gradle project parameters of extensions ([#121](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/121))

## 1.3.0-rc1

### Added
* Dev Appserver1 integration ([#113](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/113))
* Primitive [User Guide](USER_GUIDE.md)

### Changed
* Default local dev server is Java Dev Appserver1
* Flex Staging only copies app.yaml to staging out via ([#363](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/363))
* Output directory for ExplodeWar is now `${buildDir}/exploded-<projectName>` instead of `exploded-app` ([#117](https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/117))

## 1.1.1

### Fixed
* Flex deployments failing in multimodule configuration ([#108](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/108))
50 changes: 50 additions & 0 deletions app-gradle-plugin/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
Want to contribute? Great! First, read this page (including the small print at the end).

## Before you contribute

Before we can use your code, you must sign the
[Google Individual Contributor License Agreement]
(https://cla.developers.google.com/about/google-individual)
(CLA), which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things—for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.

## Code reviews

All submissions, including submissions by project members, require review. We
use Github pull requests for this purpose.

Before submitting a pull request, please make sure to:

- Identify an existing [issue](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues) to associate with
your proposed change, or [file a new issue](https://github.com/GoogleCloudPlatform/app-gradle-plugin/issues/new).
- Describe any implementation plans in the issue and wait for a review from the repository maintainers.

### Typical Contribution Cycle

1. Set your git user.email property to the address used for signing the CLA. E.g.
```
git config --global user.email "janedoe@google.com"
```
If you're a Googler or other corporate contributor,
use your corporate email address here, not your personal address.
2. Fork the repository into your own Github account.
3. Please include unit tests for all new code.
4. Check style and make sure all existing tests pass. (`./gradlew build`)
5. Associate the change with an existing issue or file a [new issue](../../issues)
6. Create a pull request!

## The small print

Contributions made by corporations are covered by a different agreement than
the one above, the
[Software Grant and Corporate Contributor License Agreement]
(https://cla.developers.google.com/about/google-corporate).

0 comments on commit a6606a0

Please sign in to comment.