diff --git a/.github/workflows/build-and-test-2.13.yml b/.github/workflows/build-and-test-2.13.yml index 20a4d5ff4a51..92aa2f3fa671 100644 --- a/.github/workflows/build-and-test-2.13.yml +++ b/.github/workflows/build-and-test-2.13.yml @@ -25,7 +25,7 @@ jobs: java-version: '11' cache: 'maven' - name: Set Scala version - run: ./build/change-scala-version.sh 2.13 + run: ./build/scripts/change-scala-version.sh 2.13 - name: Build with Maven run: ./build/mvn clean install $MAVEN_CLI_OPTS -DskipTests -T4 - name: Unit tests diff --git a/.github/workflows/integration-tests-2.13.yml b/.github/workflows/integration-tests-2.13.yml index 7ba1454be812..bb34bbbd8216 100644 --- a/.github/workflows/integration-tests-2.13.yml +++ b/.github/workflows/integration-tests-2.13.yml @@ -25,7 +25,7 @@ jobs: java-version: '11' cache: 'maven' - name: Set Scala version - run: ./build/change-scala-version.sh 2.13 + run: ./build/scripts/change-scala-version.sh 2.13 - name: Build with Maven run: ./build/mvn clean install $MAVEN_CLI_OPTS -DskipTests -T4 - name: Integration Tests diff --git a/README.md b/README.md index d619db5807eb..c91cce439c94 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ To run unit tests, omit the `-DskipTests` (note: requires `docker` to be availab GeoMesa also provides experimental support for the [Bloop](https://scalacenter.github.io/bloop/) compile server, which provides fast incremental compilation. To export the GeoMesa build to Bloop, run: - ./build/bloop-export.sh + ./build/scripts/bloop-export.sh For more information on using Bloop, refer to the [Bloop documentation](https://scalacenter.github.io/bloop/docs/build-tools/maven). @@ -221,7 +221,7 @@ environment variable to point to the root of your JDK. Example from a Mac: To build for a different Scala version (e.g. 2.13), run the following script, then build as normal: - ./build/change-scala-version.sh 2.13 + ./build/scripts/change-scala-version.sh 2.13 ### Building on OS X diff --git a/build/cyclonedx-settings.xml b/build/cyclonedx-settings.xml deleted file mode 100644 index a8a9afe475d4..000000000000 --- a/build/cyclonedx-settings.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - cyclonedx - - - - central - Maven Repository Switchboard - default - https://repo1.maven.org/maven2 - - false - - - - - osgeo - https://repo.osgeo.org/repository/release - - false - - - - - confluent - https://packages.confluent.io/maven/ - - - - locationtech-snapshots - https://repo.eclipse.org/content/groups/snapshots - - false - - - true - - - - - osgeo-snapshots - https://repo.osgeo.org/repository/snapshot - - false - - - true - - - - - - - diff --git a/build/gt-30-api-changes.sed b/build/gt-30-api-changes.sed deleted file mode 100644 index 4e85071402b2..000000000000 --- a/build/gt-30-api-changes.sed +++ /dev/null @@ -1,188 +0,0 @@ -# run with: find . -name "*.scala" -not -exec grep -q "import org.geotools.api.data._" {} \; -exec sed -E -i -f gt-30-api-changes.sed {} \; - -s/org\.geotools\.data\.DataStore/org.geotools.api.data.DataStore/g -s/(import org\.geotools\.data\.)\{DataStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStore\}/import org.geotools.api.data.DataStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStore\n\1{\2, \3}/ - -s/org\.geotools\.data\.Parameter/org.geotools.api.data.Parameter/g -s/(import org\.geotools\.data\.)\{Parameter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Parameter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Parameter\}/import org.geotools.api.data.Parameter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Parameter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Parameter\n\1{\2, \3}/ - -s/org.geotools.data.DataStoreFactorySpi/org.geotools.api.data.DataStoreFactorySpi/g -s/(import org\.geotools\.data\.)\{DataStoreFactorySpi, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStoreFactorySpi\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStoreFactorySpi\}/import org.geotools.api.data.DataStoreFactorySpi\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStoreFactorySpi, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStoreFactorySpi\n\1{\2, \3}/ - -s/org.geotools.data.DataStoreFinder/org.geotools.api.data.DataStoreFinder/g -s/(import org\.geotools\.data\.)\{DataStoreFinder, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStoreFinder\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStoreFinder\}/import org.geotools.api.data.DataStoreFinder\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DataStoreFinder, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DataStoreFinder\n\1{\2, \3}/ - -s/org.geotools.data.DelegatingFeatureReader/org.geotools.api.data.DelegatingFeatureReader/g -s/(import org\.geotools\.data\.)\{DelegatingFeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DelegatingFeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DelegatingFeatureReader\}/import org.geotools.api.data.DelegatingFeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), DelegatingFeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.DelegatingFeatureReader\n\1{\2, \3}/ - -s/org.geotools.data.FeatureEvent/org.geotools.api.data.FeatureEvent/g -s/(import org\.geotools\.data\.)\{FeatureEvent, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureEvent\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureEvent\}/import org.geotools.api.data.FeatureEvent\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureEvent, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureEvent\n\1{\2, \3}/ - -s/org.geotools.data.FeatureListener/org.geotools.api.data.FeatureListener/g -s/(import org\.geotools\.data\.)\{FeatureListener, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureListener\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureListener\}/import org.geotools.api.data.FeatureListener\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureListener, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureListener\n\1{\2, \3}/ - -s/org.geotools.data.FeatureLock/org.geotools.api.data.FeatureLock/g -s/(import org\.geotools\.data\.)\{FeatureLock, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureLock\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureLock\}/import org.geotools.api.data.FeatureLock\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureLock, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureLock\n\1{\2, \3}/ - -s/org.geotools.data.FeatureLocking/org.geotools.api.data.FeatureLocking/g -s/(import org\.geotools\.data\.)\{FeatureLocking, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureLocking\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureLocking\}/import org.geotools.api.data.FeatureLocking\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureLocking, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureLocking\n\1{\2, \3}/ - -s/org.geotools.data.FeatureReader/org.geotools.api.data.FeatureReader/g -s/(import org\.geotools\.data\.)\{FeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureReader\}/import org.geotools.api.data.FeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureReader\n\1{\2, \3}/ - -s/org.geotools.data.FeatureSource/org.geotools.api.data.FeatureSource/g -s/(import org\.geotools\.data\.)\{FeatureSource, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureSource\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureSource\}/import org.geotools.api.data.FeatureSource\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureSource, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureSource\n\1{\2, \3}/ - -s/org.geotools.data.FeatureStore/org.geotools.api.data.FeatureStore/g -s/(import org\.geotools\.data\.)\{FeatureStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureStore\}/import org.geotools.api.data.FeatureStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureStore\n\1{\2, \3}/ - -s/org.geotools.data.FeatureWriter/org.geotools.api.data.FeatureWriter/g -s/(import org\.geotools\.data\.)\{FeatureWriter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureWriter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureWriter\}/import org.geotools.api.data.FeatureWriter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FeatureWriter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FeatureWriter\n\1{\2, \3}/ - -s/org.geotools.data.FileDataStore/org.geotools.api.data.FileDataStore/g -s/(import org\.geotools\.data\.)\{FileDataStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileDataStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileDataStore\}/import org.geotools.api.data.FileDataStore\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileDataStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileDataStore\n\1{\2, \3}/ - -s/org.geotools.data.FileDataStoreFactorySpi/org.geotools.api.data.FileDataStoreFactorySpi/g -s/(import org\.geotools\.data\.)\{FileDataStoreFactorySpi, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileDataStoreFactorySpi\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileDataStoreFactorySpi\}/import org.geotools.api.data.FileDataStoreFactorySpi\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileDataStoreFactorySpi, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileDataStoreFactorySpi\n\1{\2, \3}/ - -s/org.geotools.data.FileStoreFactory/org.geotools.api.data.FileStoreFactory/g -s/(import org\.geotools\.data\.)\{FileStoreFactory, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileStoreFactory\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileStoreFactory\}/import org.geotools.api.data.FileStoreFactory\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), FileStoreFactory, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.FileStoreFactory\n\1{\2, \3}/ - -s/org.geotools.data.Join/org.geotools.api.data.Join/g -s/(import org\.geotools\.data\.)\{Join, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Join\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Join\}/import org.geotools.api.data.Join\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Join, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Join\n\1{\2, \3}/ - -s/org.geotools.data.LockingManager/org.geotools.api.data.LockingManager/g -s/(import org\.geotools\.data\.)\{LockingManager, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.LockingManager\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), LockingManager\}/import org.geotools.api.data.LockingManager\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), LockingManager, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.LockingManager\n\1{\2, \3}/ - -s/org.geotools.data.Parameter/org.geotools.api.data.Parameter/g -s/(import org\.geotools\.data\.)\{Parameter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Parameter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Parameter\}/import org.geotools.api.data.Parameter\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Parameter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Parameter\n\1{\2, \3}/ - -s/org.geotools.data.Query/org.geotools.api.data.Query/g -s/(import org\.geotools\.data\.)\{Query, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Query\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Query\}/import org.geotools.api.data.Query\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Query, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Query\n\1{\2, \3}/ - -s/org.geotools.data.QueryCapabilities/org.geotools.api.data.QueryCapabilities/g -s/(import org\.geotools\.data\.)\{QueryCapabilities, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.QueryCapabilities\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), QueryCapabilities\}/import org.geotools.api.data.QueryCapabilities\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), QueryCapabilities, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.QueryCapabilities\n\1{\2, \3}/ - -s/org.geotools.data.Repository/org.geotools.api.data.Repository/g -s/(import org\.geotools\.data\.)\{Repository, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Repository\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Repository\}/import org.geotools.api.data.Repository\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Repository, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Repository\n\1{\2, \3}/ - -s/org.geotools.data.ResourceInfo/org.geotools.api.data.ResourceInfo/g -s/(import org\.geotools\.data\.)\{ResourceInfo, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.ResourceInfo\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), ResourceInfo\}/import org.geotools.api.data.ResourceInfo\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), ResourceInfo, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.ResourceInfo\n\1{\2, \3}/ - -s/org.geotools.data.ServiceInfo/org.geotools.api.data.ServiceInfo/g -s/(import org\.geotools\.data\.)\{ServiceInfo, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.ServiceInfo\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), ServiceInfo\}/import org.geotools.api.data.ServiceInfo\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), ServiceInfo, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.ServiceInfo\n\1{\2, \3}/ - -s/org.geotools.data.Transaction/org.geotools.api.data.Transaction/g -s/(import org\.geotools\.data\.)\{Transaction, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Transaction\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Transaction\}/import org.geotools.api.data.Transaction\n\1{\2}/ -s/(import org\.geotools\.data\.)\{([a-zA-Z0-9, _]*), Transaction, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.Transaction\n\1{\2, \3}/ - -s/org.geotools.data.simple.SimpleFeatureReader/org.geotools.api.data.SimpleFeatureReader/g -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureReader\}/import org.geotools.api.data.SimpleFeatureReader\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureReader, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureReader\n\1{\2, \3}/ - -s/org.geotools.data.simple.SimpleFeatureSource/org.geotools.api.data.SimpleFeatureSource/g -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureSource, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureSource\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureSource\}/import org.geotools.api.data.SimpleFeatureSource\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureSource, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureSource\n\1{\2, \3}/ - -s/org.geotools.data.simple.SimpleFeatureStore/org.geotools.api.data.SimpleFeatureStore/g -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureStore\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureStore\}/import org.geotools.api.data.SimpleFeatureStore\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureStore, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureStore\n\1{\2, \3}/ - -s/org.geotools.data.simple.SimpleFeatureWriter/org.geotools.api.data.SimpleFeatureWriter/g -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureWriter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureWriter\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureWriter\}/import org.geotools.api.data.SimpleFeatureWriter\n\1{\2}/ -s/(import org\.geotools\.data\.simple\.)\{([a-zA-Z0-9, _]*), SimpleFeatureWriter, ([a-zA-Z0-9, _]*)\}/import org.geotools.api.data.SimpleFeatureWriter\n\1{\2, \3}/ - -s/(import org\.geotools\.data\.)\{DataStore\}/import org.geotools.api.data.DataStore/ -s/(import org\.geotools\.data\.)\{FeatureLock\}/import org.geotools.api.data.FeatureLock/ -s/(import org\.geotools\.data\.)\{FeatureLocking\}/import org.geotools.api.data.FeatureLocking/ -s/(import org\.geotools\.data\.)\{FeatureReader\}/import org.geotools.api.data.FeatureReader/ -s/(import org\.geotools\.data\.)\{FeatureSource\}/import org.geotools.api.data.FeatureSource/ -s/(import org\.geotools\.data\.)\{FeatureStore\}/import org.geotools.api.data.FeatureStore/ -s/(import org\.geotools\.data\.)\{FeatureWriter\}/import org.geotools.api.data.FeatureWriter/ -s/(import org\.geotools\.data\.)\{FileDataStore\}/import org.geotools.api.data.FileDataStore/ -s/(import org\.geotools\.data\.)\{FileDataStoreFactorySpi\}/import org.geotools.api.data.FileDataStoreFactorySpi/ -s/(import org\.geotools\.data\.)\{FileStoreFactory\}/import org.geotools.api.data.FileStoreFactory/ -s/(import org\.geotools\.data\.)\{Parameter\}/import org.geotools.api.data.Parameter/ -s/(import org\.geotools\.data\.)\{DataStoreFactorySpi\}/import org.geotools.api.data.DataStoreFactorySpi/ -s/(import org\.geotools\.data\.)\{DataStoreFinder\}/import org.geotools.api.data.DataStoreFinder/ -s/(import org\.geotools\.data\.)\{DelegatingFeatureReader\}/import org.geotools.api.data.DelegatingFeatureReader/ -s/(import org\.geotools\.data\.)\{FeatureEvent\}/import org.geotools.api.data.FeatureEvent/ -s/(import org\.geotools\.data\.)\{FeatureListener\}/import org.geotools.api.data.FeatureListener/ -s/(import org\.geotools\.data\.)\{Join\}/import org.geotools.api.data.Join/ -s/(import org\.geotools\.data\.)\{LockingManager\}/import org.geotools.api.data.LockingManager/ -s/(import org\.geotools\.data\.)\{Parameter\}/import org.geotools.api.data.Parameter/ -s/(import org\.geotools\.data\.)\{Query\}/import org.geotools.api.data.Query/ -s/(import org\.geotools\.data\.)\{QueryCapabilities\}/import org.geotools.api.data.QueryCapabilities/ -s/(import org\.geotools\.data\.)\{Repository\}/import org.geotools.api.data.Repository/ -s/(import org\.geotools\.data\.)\{ResourceInfo\}/import org.geotools.api.data.ResourceInfo/ -s/(import org\.geotools\.data\.)\{ServiceInfo\}/import org.geotools.api.data.ServiceInfo/ -s/(import org\.geotools\.data\.)\{Transaction\}/import org.geotools.api.data.Transaction/ -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureReader\}/import org.geotools.api.data.SimpleFeatureReader/ -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureSource\}/import org.geotools.api.data.SimpleFeatureSource/ -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureStore\}/import org.geotools.api.data.SimpleFeatureStore/ -s/(import org\.geotools\.data\.simple\.)\{SimpleFeatureWriter\}/import org.geotools.api.data.SimpleFeatureWriter/ - -s/import org\.geotools\.data\.\{_\}/import org.geotools.data._/ -s/import org\.geotools\.data\._/\0\nimport org.geotools.api.data._/ - -s/org\.opengis\.geometry\.BoundingBox/org.geotools.api.geometry.BoundingBox/g -s/org\.opengis\.geometry\.Geometry/org.locationtech.jts.geom.Geometry/g -s/FilterFactory2/FilterFactory/g -s/ReferencedEnvelope\.create/ReferencedEnvelope.envelope/g -s/org\.geotools\.data\.DataAccessFactory\.Param/org.geotools.api.data.DataAccessFactory.Param/g -s/DirectPosition/Position/g - -s/org.opengis/org.geotools.api/g diff --git a/build/remove-opengis.xml b/build/remove-opengis.xml deleted file mode 100644 index fa91472d0f09..000000000000 --- a/build/remove-opengis.xml +++ /dev/null @@ -1,573 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... ${toString:@{package}.@{class}.remove} - - - - - - - - - - - - - - - - - - - - ... ${toString:@{srcPackage}.@{class}.files} - - - - - - - - - - - - - - - - - - - - - - ... ${toString:@{srcPackage}.files} - - - - - - - - - - - - - - - - - - - - - - - - - - - - Update to GeoTools 30.x series - - UPDATE STARTING: ${project.dir} - - - - - - - - - - - - - - - - - - .getFilterFactory2( - .getFilterFactory( - - - - - - - FilterFactory.property(null) - - - - - - FilterFactory.beyond(null) - - - - - - FilterFactory.contains(null) - - - - - - Collecions.contains((String) possible conflicts - - - - - - FilterFactory.disjoint(null) - - - - - - FilterFactory.intersects(null) - - - - - - FilterFactory.overlaps(null) - - - - - - FilterFactory.equals(null) - - - - - - Object.equals((String) null) possible conflict - FilterFactory.dwithin(null) - - - - - - FilterFactory.touches(null) - - - - - - FilterFactory.overlaps(null) - - - - - - FilterFactory.touches(null) - - - - - - FilterFactory.within(null) - - - - - - - - - - - - - org.geotools.styling - org.geotools.api.style - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... ${toString:org.opengis.geometry.Envelope.safeFiles} - - - - - - - - - - - - - - - - ... ${toString:org.opengis.geometry.Envelope.files} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - org.geotools.data - org.geotools.data.simple - org.geotools.api.data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... ${toString:services.files} - - - - - - - - - - - - - - org.opengis. - org.geotools.api. - - - - - - - - - ... ${toString:services.files} - - - - - - - - UPDATE COMPLETED: ${project.dir} - - At the request of OGC https://www.ogc.org/standard/geoapi/ standard - Your project has been refactored to change org.opengis to org.geotools.api - - You may have unsued imports to clean up, but we believe your project will compile! - - diff --git a/build/bloop-export.sh b/build/scripts/bloop-export.sh similarity index 73% rename from build/bloop-export.sh rename to build/scripts/bloop-export.sh index 9c2de0532694..c1bdd87ba08b 100755 --- a/build/bloop-export.sh +++ b/build/scripts/bloop-export.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -cd "$(dirname "$0")/.." || exit +cd "$(dirname "$0")/../.." || exit mvn -Pbloop initialize ch.epfl.scala:bloop-maven-plugin:2.0.0:bloopInstall diff --git a/build/calculate-cqs.sh b/build/scripts/calculate-cqs.sh similarity index 97% rename from build/calculate-cqs.sh rename to build/scripts/calculate-cqs.sh index 7c712d05fab4..51ddb949863d 100755 --- a/build/calculate-cqs.sh +++ b/build/scripts/calculate-cqs.sh @@ -8,6 +8,8 @@ export LC_ALL=C # ensure stable sort order across different locales +cd "$(dirname "$0")/../.." || exit + rm build/cqs.tsv 2>/dev/null mvn dependency:tree -Dstyle.color=never > build/deps-raw grep ':compile' build/deps-raw | grep -v 'omitted' | grep -v 'org.locationtech.geomesa' | sed -e 's/\[INFO\] //' -e 's/[\| +-]*//' -e 's/(.*)//' -e 's/ //g' -e 's/\(.*\):\(.*\):jar:\(.*\):\(\w*\)/\1:\2\t\3\t\4/' | sort | uniq > build/cqs.tsv diff --git a/build/change-scala-version.sh b/build/scripts/change-scala-version.sh similarity index 98% rename from build/change-scala-version.sh rename to build/scripts/change-scala-version.sh index 721d87167c06..ffa86f07cc00 100755 --- a/build/change-scala-version.sh +++ b/build/scripts/change-scala-version.sh @@ -35,7 +35,7 @@ if [[ ($# -ne 1) || ( $1 == "--help") || $1 == "-h" ]]; then usage fi -BASEDIR=$(dirname "$0")/.. +BASEDIR="$(dirname "$0")/../.." TO_VERSION=$1 FULL_VERSION="" diff --git a/build/scripts/do-release.sh b/build/scripts/do-release.sh new file mode 100755 index 000000000000..d43897808de3 --- /dev/null +++ b/build/scripts/do-release.sh @@ -0,0 +1,99 @@ +#!/usr/bin/env bash + +set -e + +cd "$(dirname "$0")/../.." || exit + +usage() { + echo "Usage: $(basename "$0") [-h|--help] +where : + -h| --help Display this help text +" 1>&2 + exit 1 +} + +if [[ ($# -ne 0) || ( $1 == "--help") || $1 == "-h" ]]; then + usage +fi + +readReleaseProp() { + grep "^$1=" release.properties | head -n1 | sed "s/$1=//" +} + +readPomVersion() { + grep '^ ' "$1" | head -n1 | sed -E 's|.*(.*).*|\1|' +} + +copyReleaseArtifacts() { + while IFS= read -r -d '' file; do + pushd "$(dirname "$file")" >/dev/null + gpg --armor --detach-sign "$(basename "$file")" + sha256sum "$(basename "$file")" > "$(basename "$file").sha256" + popd >/dev/null + mv "$file"{,.sha256,.asc} "$RELEASE" + done < <(find geomesa-* -name '*-bin.tar.gz' -print0) +} + +JAVA_VERSION="$(mvn help:evaluate -Dexpression=jdk.version -q -DforceStdout)" +if ! [[ $(java -version 2>&1 | head -n 1 | cut -d'"' -f2) =~ ^$JAVA_VERSION.* ]]; then + echo "Error: invalid Java version - Java $JAVA_VERSION required" + exit 1 +fi + +if ! [[ $(which gpg) ]]; then + echo "Error: gpg executable not found" + exit 1 +fi + +# get current branch we're releasing off +BRANCH="$(git branch --show-current)" + +# use the maven release plugin to prep the pom changes but use dryRun to skip commit and tag +mvn release:prepare \ + -DdryRun=true \ + -DautoVersionSubmodules=true \ + -Darguments="-DskipTests -Dmaven.javadoc.skip=true -Ppython" \ + -Ppython + +RELEASE="$(readPomVersion pom.xml.tag)" +TAG="$(readReleaseProp scm.tag)" +NEXT="$(readPomVersion pom.xml.next)" + +# update README versions and commit +for pom in pom.xml pom.xml.tag pom.xml.next; do + sed -i "s|.*|$RELEASE|" "$pom" + sed -i "s|.*|$NEXT|" "$pom" +done +mvn clean install -pl . +git commit -am "Set version for release $RELEASE" + +# commit release tag +find . -name pom.xml -exec mv {}.tag {} \; +git commit -am "[maven-release-plugin] prepare release $TAG" +git tag "$TAG" + +# commit next dev version +find . -name pom.xml -exec mv {}.next {} \; +git commit -am "[maven-release-plugin] prepare for next development iteration" + +# clean up leftover release artifacts +mvn release:clean + +# deploy to maven central +git checkout "$TAG" +mkdir -p "$RELEASE" + +mvn clean deploy -Pcentral,python -DskipTests | tee build_2.12.log +copyReleaseArtifacts + +./build/scripts/change-scala-version.sh 2.13 +mvn clean deploy -Pcentral,python -DskipTests | tee build_2.13.log +copyReleaseArtifacts + +# reset pom changes +./build/scripts/change-scala-version.sh 2.12 + +# push commits and tags +git checkout "$BRANCH" +git push lt "$BRANCH" +git push lt "$TAG" diff --git a/build/update-copyright-year.sh b/build/scripts/update-copyright-year.sh similarity index 93% rename from build/update-copyright-year.sh rename to build/scripts/update-copyright-year.sh index 92644f6a5197..63034a81df15 100755 --- a/build/update-copyright-year.sh +++ b/build/scripts/update-copyright-year.sh @@ -2,7 +2,7 @@ to="$(date +%Y)" from="$((to - 1))" -dir="$(cd "$(dirname "$0")/.." || exit; pwd)" +dir="$(dirname "$0")/../.." sed -i "s|$from|$to|" "$dir/pom.xml" diff --git a/build/README.md b/build/templates/README.md similarity index 99% rename from build/README.md rename to build/templates/README.md index 5981bc288b15..530c6171b2c3 100644 --- a/build/README.md +++ b/build/templates/README.md @@ -198,7 +198,7 @@ To run unit tests, omit the `-DskipTests` (note: requires `docker` to be availab GeoMesa also provides experimental support for the [Bloop](https://scalacenter.github.io/bloop/) compile server, which provides fast incremental compilation. To export the GeoMesa build to Bloop, run: - ./build/bloop-export.sh + ./build/scripts/bloop-export.sh For more information on using Bloop, refer to the [Bloop documentation](https://scalacenter.github.io/bloop/docs/build-tools/maven). @@ -221,7 +221,7 @@ environment variable to point to the root of your JDK. Example from a Mac: To build for a different Scala version (e.g. 2.13), run the following script, then build as normal: - ./build/change-scala-version.sh 2.13 + ./build/scripts/change-scala-version.sh 2.13 ### Building on OS X diff --git a/build/maven-badge.svg b/build/templates/maven-badge.svg similarity index 100% rename from build/maven-badge.svg rename to build/templates/maven-badge.svg diff --git a/geomesa-spark/geomesa-spark-jupyter-vegas/pom.xml b/geomesa-spark/geomesa-spark-jupyter-vegas/pom.xml index 37ec282e8a82..9882f364bcc1 100644 --- a/geomesa-spark/geomesa-spark-jupyter-vegas/pom.xml +++ b/geomesa-spark/geomesa-spark-jupyter-vegas/pom.xml @@ -3,7 +3,7 @@ geomesa-spark_2.12 org.locationtech.geomesa - 5.0.0-SNAPSHOT + 5.1.0-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index b9878bdbd8e2..340a9e5bf22d 100644 --- a/pom.xml +++ b/pom.xml @@ -172,7 +172,7 @@ 3.3.0 3.1.1 3.6.1 - 3.6.0 + 3.7.1 3.5.1 3.4.4 @@ -300,61 +300,6 @@ false - - - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - - - - locationtech - - - repo.eclipse.org - GeoMesa Repository - Releases - https://repo.eclipse.org/content/repositories/geomesa-releases/ - - - repo.eclipse.org - GeoMesa Repository - Snapshots - https://repo.eclipse.org/content/repositories/geomesa-snapshots/ - - - - - - dash - - - dash-licenses-releases - https://repo.eclipse.org/content/repositories/dash-licenses-releases/ - - false - - - - - - - scoverage - - - true - - - - - cyclonedx - - org.cyclonedx cyclonedx-maven-plugin @@ -375,6 +320,24 @@ + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + + + + scoverage + + + true + @@ -392,7 +355,7 @@ - + jitpack.io https://jitpack.io @@ -3405,7 +3368,7 @@ true - build + build/templates README.md @@ -3426,9 +3389,9 @@ true - build + build/templates - *.svg + maven-badge.svg true @@ -3608,7 +3571,7 @@ scm:git:git@github.com:locationtech/geomesa.git scm:git:git@github.com:locationtech/geomesa.git https://github.com/locationtech/geomesa - geomesa-5.0.0-m.0 + HEAD @@ -3622,6 +3585,11 @@ geomesa.org https://www.geomesa.org/ + + repo.eclipse.org + GeoMesa Repository - Snapshots + https://repo.eclipse.org/content/repositories/geomesa-snapshots/ + @@ -3705,4 +3673,26 @@ + + + + central + Central Repository + https://repo.maven.apache.org/maven2 + + never + + + false + + + + dash-licenses-releases + https://repo.eclipse.org/content/repositories/dash-licenses-releases/ + + false + + + +