diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..36775c57a56 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "java-repo-tools"] + path = java-repo-tools + url = https://github.com/GoogleCloudPlatform/java-repo-tools.git diff --git a/.travis.yml b/.travis.yml index 3c62378a168..0e48bda620a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,11 @@ language: java jdk: - oraclejdk8 +git: + # Handle git submodules ourselves. We want the samples and tests to work + # without a recursive clone. We only use submodules for an additional layer + # of localhost testing scripts. + submodules: false addons: apt: sources: diff --git a/java-repo-tools/google-checks.xml b/google-checks.xml similarity index 100% rename from java-repo-tools/google-checks.xml rename to google-checks.xml diff --git a/java-repo-tools b/java-repo-tools new file mode 160000 index 00000000000..74755a28f01 --- /dev/null +++ b/java-repo-tools @@ -0,0 +1 @@ +Subproject commit 74755a28f01aedf57992f473eb2d0201b1e04f2a diff --git a/java-repo-tools/.gitignore b/java-repo-tools/.gitignore deleted file mode 100644 index 342c18bf686..00000000000 --- a/java-repo-tools/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -service-account.json - -### Java ### -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - -# Maven -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties diff --git a/java-repo-tools/.travis.yml b/java-repo-tools/.travis.yml deleted file mode 100644 index d5659c59ce8..00000000000 --- a/java-repo-tools/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -language: java -jdk: -- oraclejdk7 -- oraclejdk8 -script: mvn verify -after_success: -- bash <(curl -s https://codecov.io/bash) -branches: - only: - - master diff --git a/java-repo-tools/CONTRIBUTING.md b/java-repo-tools/CONTRIBUTING.md deleted file mode 100644 index 6736efd943c..00000000000 --- a/java-repo-tools/CONTRIBUTING.md +++ /dev/null @@ -1,35 +0,0 @@ -# How to become a contributor and submit your own code - -## Contributor License Agreements - -We'd love to accept your sample apps and patches! Before we can take them, we -have to jump a couple of legal hurdles. - -Please fill out either the individual or corporate Contributor License Agreement -(CLA). - - * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual CLA] - (https://developers.google.com/open-source/cla/individual). - * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA] - (https://developers.google.com/open-source/cla/corporate). - -Follow either of the two links above to access the appropriate CLA and -instructions for how to sign and return it. Once we receive it, we'll be able to -accept your pull requests. - -## Contributing A Patch - -1. Submit an issue describing your proposed change to the repo in question. -1. The repo owner will respond to your issue promptly. -1. If your proposed change is accepted, and you haven't already done so, sign a - Contributor License Agreement (see details above). -1. Fork the desired repo, develop and test your code changes. -1. Ensure that your code adheres to the existing style in the sample to which - you are contributing. Refer to the - [Google Cloud Platform Samples Style Guide] - (https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the - recommended coding standards for this organization. -1. Ensure that your code has an appropriate set of unit tests which all pass. -1. Submit a pull request. diff --git a/java-repo-tools/LICENSE b/java-repo-tools/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/java-repo-tools/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/java-repo-tools/README.md b/java-repo-tools/README.md deleted file mode 100644 index 0c172c9c051..00000000000 --- a/java-repo-tools/README.md +++ /dev/null @@ -1,160 +0,0 @@ -# Cloud Platform Java Repository Tools - -[![Build -Status](https://travis-ci.org/GoogleCloudPlatform/java-repo-tools.svg?branch=master)](https://travis-ci.org/GoogleCloudPlatform/java-repo-tools) -[![Coverage -Status](https://codecov.io/gh/GoogleCloudPlatform/java-repo-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/GoogleCloudPlatform/java-repo-tools) - -This is a collection of common tools used to maintain and test Java repositories -in the [GoogleCloudPlaftorm](https://github.com/GoogleCloudPlatform) -organization. - - -## Using this repository - -This repository is copied into a subtree of other Java repositories, such as -[java-docs-samples](/GoogleCloudPlatform/java-docs-samples). Note, that a -subtree is just the code copied into a directory, so a regular `git clone` will -continue to work. - - -### Adding to a new repository - -To copy `java-repo-tools` into a subtree of a new repository `my-java-samples`, -first add this repository as a remote. We then fetch all the changes from this -`java-repo-tools`. - -``` -git remote add java-repo-tools git@github.com:GoogleCloudPlatform/java-repo-tools.git -git fetch java-repo-tools master -``` - -We can then go back to the `my-java-samples` code and prepare a Pull Request to -add the `java-repo-tools` code in a subtree. Making a new branch is optional, but -recommended so that you can more easily send a pull request to start using -`java-repo-tools`. - -``` -git checkout -b use-java-repo-tools origin/master -``` - -Finally, read the `java-repo-tools` into a subtree. So that you can pull future -updates from the `java-repo-tools` repository, this command will merge histories. -This way prevents unnecessary conflicts when pulling changes in. - -``` -git subtree add --prefix=java-repo-tools java-repo-tools master -``` - -Now all the content of `java-repo-tools` will be in the `java-repo-tools/` -directory (which we specified in the `--prefix` command). - -#### Using the Maven configuration - -If all the projects within your `my-java-samples` share a common parent POM for -plugin configuration (like checkstyle). We can then make the -`java-repo-tools/pom.xml` parent of this. - -``` - - - com.google.cloud - shared-configuration - 1.0.0 - java-repo-tools - -``` - -Once this is added to the common parent, all modules will have the same plugin -configuration applied. If the children POMs provide the plugin information -themselves, it will override this configuration, so you should delete any -now-redundant plugin information. - - -#### Examples - -- Adding to repository with an existing parent POM: Pull Request - [java-docs-samples#125][java-docs-samples-125]. - -[java-docs-samples-125]: https://github.com/GoogleCloudPlatform/java-docs-samples/pull/125 - - -### Detecting if you need to synchronize a subtree - -If you haven't done this before, run - -``` -git remote add java-repo-tools git@github.com:GoogleCloudPlatform/java-repo-tools.git -``` - -To detect if you have changes in the directory, run - -``` -git fetch java-repo-tools master -git diff-tree -p HEAD:java-repo-tools/ java-repo-tools/master -``` - -or to diff against your local `java-repo-tools` branch: - -``` -git diff-tree -p HEAD:java-repo-tools/ java-repo-tools -- -``` - -(The trailing `--` is to say that we want to compare against the branch, not the -directory.) - - -### Pulling changes from Java Repository Tools to a subtree - -To update the `java-repo-tools` directory, if you haven't done this before, run - -``` -git remote add java-repo-tools git@github.com:GoogleCloudPlatform/java-repo-tools.git -``` - -To pull the latest changes from this `java-repo-tools` repository, run: - -``` -git checkout master -# Making a new branch is optional, but recommended to send a pull request for -# update. -git checkout -b update-java-repo-tools -git pull -s subtree java-repo-tools master -``` - -Then you can make any needed changes to make the rest of the repository -compatible with the updated `java-repo-tools` code, commit, push, and send a -Pull Request as you would in the normal flow. - - -### Pushing changes from a subtree upstream to Java Repository Tools - -What if you make changes in your repository and now want to push them upstream? - -Assuming you just commited changes in the `java-repo-tools/` directory of your -`my-main-branch`, to split the `java-repo-tools` changes into their own branch. -The first time using the `subtree` command, we may need to use the `--rejoin` -argument. - -``` -git subtree split --prefix=java-repo-tools -b ${USER}-push-java-repo-tools -git checkout ${USER}-push-java-repo-tools -git push java-repo-tools ${USER}-push-java-repo-tools -``` - -Then, you can send a pull request to the `java-repo-tools` repository. - - -## References - -- [GitHub's subtree merge reference](https://help.github.com/articles/about-git-subtree-merges/) - -## Contributing changes - -- See [CONTRIBUTING.md](CONTRIBUTING.md) - - -## Licensing - -- Apache 2.0 - See [LICENSE](LICENSE) - diff --git a/java-repo-tools/codecov.yml b/java-repo-tools/codecov.yml deleted file mode 100644 index f5c84448f07..00000000000 --- a/java-repo-tools/codecov.yml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -codecov: - branch: master -comment: - branches: - - master diff --git a/java-repo-tools/pom.xml b/java-repo-tools/pom.xml deleted file mode 100644 index 8985be5024b..00000000000 --- a/java-repo-tools/pom.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - 4.0.0 - 1.0.0 - - com.google.cloud - shared-configuration - pom - - - UTF-8 - UTF-8 - 2.2 - 0.7.6.201602180812 - 3.0.0 - 2.17 - 2.8.2 - 2.19.1 - 2.5.2 - 2.7 - 3.5.1 - 2.19.1 - - - - 3.1.0 - - - - test - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin-version} - - false - - - - - org.apache.maven.plugins - maven-failsafe-plugin - ${maven-failsafe-plugin-version} - - - - integration-test - verify - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - ${maven-checkstyle-plugin-version} - - google-checks.xml - true - true - true - true - suppressions.xml - - - check - - - - org.codehaus.mojo - versions-maven-plugin - ${codehaus-versions-maven-plugin-version} - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin-version} - - - - prepare-agent - - - - report - test - - report - - - - - - - diff --git a/java-repo-tools/scripts/test-localhost.sh b/java-repo-tools/scripts/test-localhost.sh deleted file mode 100755 index a83f3e20d29..00000000000 --- a/java-repo-tools/scripts/test-localhost.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Usage: -# test-localhost.sh deployment-type path/to/project -- [maven arguments] -# -# This script runs a localhost server Maven plugin and verifies that a request -# to http://localhost:8080/ does not return an error code. - -print_usage () { - echo "Usage:" >&2 - echo " $0 server-type path/to/project [-- maven arguments]" >&2 - echo >&2 - echo "server-type can be any of the following:" >&2 - echo " appengine - GAE Standard - Local - GA Plugin" >&2 - echo " jetty - Flex - Local" >&2 - echo " spring-boot - local" >&2 - echo " new_mvn - local - Standard / FlexCompat" >&2 - echo " gradle - local - Standard / FlexCompat" >&2 - echo " gradle_jetty - local - Flex" &2 -} - -if [[ -z "$1" ]]; then - echo "Missing server-type parameter." >&2 - print_usage - exit 1 -fi -case $1 in - appengine) - server_started_message="localhost:8080" - command="mvn --batch-mode clean appengine:devserver -DskipTests" - ;; - jetty) - server_started_message="Started Jetty Server" - command="mvn --batch-mode clean jetty:run-exploded -DskipTests" - ;; - spring-boot) - server_started_message="Tomcat started on port(s): 8080 (http)" - command="mvn --batch-mode clean spring-boot:run -DskipTests" - ;; - new_mvn) - server_started_message="localhost:8080" - command="mvn --batch-mode clean appengine:run -DskipTests" - ;; - gradle) - server_started_message="localhost:8080" - command="gradle appengineRun" - ;; - gradle_jetty) - server_started_message="localhost:8080" - command="gradle jettyRun" - ;; - *) - print_usage - exit 1 - ;; -esac - -if [[ -z "$2" ]]; then - echo "Missing directory parameter." >&2 - print_usage - exit 1 -fi -code_path=$2 - -if [[ "$3" == "--" ]]; then - shift 3 - for mvn_arg in "${@}"; do - command="${command} ${mvn_arg}" - done -elif [[ -n "$3" ]]; then - echo "Got unexpected third argument" >&2 - print_usage - exit 1 -fi - -set -e -set -x - -( -cd "$code_path" -expect -c " - spawn ${command} - set timeout 600 - expect \"${server_started_message}\" - "'sleep 10 - spawn curl --silent --output /dev/stderr --write-out "%{http_code}" http://localhost:8080/ - expect { - "200" { - exit - } - } - exit 1 - ' -) - diff --git a/java-repo-tools/test-devserver.sh b/java-repo-tools/test-devserver.sh deleted file mode 100755 index 62b3dfefef7..00000000000 --- a/java-repo-tools/test-devserver.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2016 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Usage: -# test-devserver.sh path/to/project -# -# This script runs the local appengine:devserver Maven plugin and verifies that -# a request to http://localhost:8080/ does not return an error code. -# -# As an example, this is useful for verifying that datastore-indexes.xml is -# correct (only if autoGenerate=false and the / handler does all queries used), -# as an example. - -set -e -set -x - -if [ -z "$1" ]; then - echo "Missing directory parameter." - echo "Usage:" - echo " $0 path/to/project" - exit 1 -fi - -( -cd "$1" -expect -c ' - spawn mvn --batch-mode clean appengine:devserver -DskipTests - set timeout 600 - expect localhost:8080 - sleep 10 - spawn curl --silent --output /dev/stderr --write-out "%{http_code}" http://localhost:8080/ - expect { - "200" { - exit - } - } - exit 1 - ' -) - diff --git a/java-repo-tools/test/README.md b/java-repo-tools/test/README.md deleted file mode 100644 index 59e4015515c..00000000000 --- a/java-repo-tools/test/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Cloud Platform Java Repository Tools Test - -This is a test application for checking that the root [`pom.xml`](../pom.xml) -and [`google-checks.xml`](../google-checks.xml) are working as expected. - diff --git a/java-repo-tools/test/pom.xml b/java-repo-tools/test/pom.xml deleted file mode 100644 index 0bde62cec8e..00000000000 --- a/java-repo-tools/test/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - 4.0.0 - - com.google.cloud - shared-configuration-test - 1.0 - jar - - - shared-configuration - com.google.cloud - 1.0.0 - .. - - - - - - junit - junit - 4.12 - test - - - com.google.truth - truth - 0.28 - test - - - diff --git a/java-repo-tools/test/src/main/java/com/google/cloud/samples/test/App.java b/java-repo-tools/test/src/main/java/com/google/cloud/samples/test/App.java deleted file mode 100644 index a2e47132975..00000000000 --- a/java-repo-tools/test/src/main/java/com/google/cloud/samples/test/App.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2016 Google Inc. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.cloud.samples.test; - -/** - * A hello world app to test the parent pom.xml. - */ -public class App { - public String greeting() { - return "Hello World!"; - } - - public static void main(String[] args) { - App app = new App(); - System.out.println(app.greeting()); - } -} diff --git a/java-repo-tools/test/src/test/java/com/google/cloud/samples/test/AppTest.java b/java-repo-tools/test/src/test/java/com/google/cloud/samples/test/AppTest.java deleted file mode 100644 index 3bdb86fa09a..00000000000 --- a/java-repo-tools/test/src/test/java/com/google/cloud/samples/test/AppTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2016 Google Inc. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.google.cloud.samples.test; - -import static com.google.common.truth.Truth.assertThat; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -/** - * Unit tests for {@link App}. - */ -@RunWith(JUnit4.class) -public class AppTest { - @Test public void main_printsHelloWorld() { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - System.setOut(new PrintStream(out)); - - App.main(new String[0]); - - String greeting = out.toString(); - assertThat(greeting).named("greeting").contains("Hello World!"); - } -} diff --git a/pom.xml b/pom.xml index 666391cc052..3e888d38082 100644 --- a/pom.xml +++ b/pom.xml @@ -23,10 +23,9 @@ - com.google.cloud + com.google.cloud.samples shared-configuration 1.0.0 - java-repo-tools diff --git a/speech/grpc/pom.xml b/speech/grpc/pom.xml index b8be45241a2..cb55bf58349 100644 --- a/speech/grpc/pom.xml +++ b/speech/grpc/pom.xml @@ -28,9 +28,9 @@ limitations under the License. com.google.cloud - shared-configuration + doc-samples 1.0.0 - ../../java-repo-tools + ../.. diff --git a/java-repo-tools/suppressions.xml b/suppressions.xml similarity index 100% rename from java-repo-tools/suppressions.xml rename to suppressions.xml diff --git a/travis.sh b/travis.sh index 80faa81eb27..3f822b8e2df 100755 --- a/travis.sh +++ b/travis.sh @@ -25,27 +25,34 @@ if [ -z "$GOOGLE_APPLICATION_CREDENTIALS" ] ; then fi mvn --batch-mode clean verify -DskipTests=$SKIP_TESTS | egrep -v "(^\[INFO\] Download|^\[INFO\].*skipping)" -# Run tests using App Engine local devserver. -devserver_tests=( - appengine/helloworld - appengine/datastore/geo - appengine/datastore/indexes - appengine/datastore/indexes-exploding - appengine/datastore/indexes-perfect -) -for testdir in "${devserver_tests[@]}" ; do - ./java-repo-tools/scripts/test-localhost.sh appengine "${testdir}" -done - -# newplugin_std_tests=( -# appengine/helloworld-new-plugins -# ) -# for testdir in "${newplugin_std_tests[@]}" ; do -# ./java-repo-tools/scripts/test-localhost.sh standard_mvn "${testdir}" -# ./java-repo-tools/scripts/test-localhost.sh standard_gradle "${testdir}" -# done - - # Check that all shell scripts in this repo (including this one) pass the # Shell Check linter. shellcheck ./**/*.sh + +# Run tests using App Engine local devserver. +test_localhost() { + # The testing scripts are stored in a submodule. This allows us to carefully + # update the testing scripts, since submodules are tied to a specific commit. + git submodule init + git submodule update + + devserver_tests=( + appengine/helloworld + appengine/datastore/geo + appengine/datastore/indexes + appengine/datastore/indexes-exploding + appengine/datastore/indexes-perfect + ) + for testdir in "${devserver_tests[@]}" ; do + ./java-repo-tools/scripts/test-localhost.sh appengine "${testdir}" + done + + # newplugin_std_tests=( + # appengine/helloworld-new-plugins + # ) + # for testdir in "${newplugin_std_tests[@]}" ; do + # ./java-repo-tools/scripts/test-localhost.sh standard_mvn "${testdir}" + # ./java-repo-tools/scripts/test-localhost.sh standard_gradle "${testdir}" + # done +} +test_localhost