32 Commits

Author SHA1 Message Date
mikolajbrzezinski
7c088dc90a
[release] 3.0.1-A1 (#732)
[release] 3.0.1-A1
2023-02-09 16:57:07 +01:00
mikolajbrzezinski
284901159d
ACS-4454 Migrating to GH Actions (#727) 2023-02-09 12:04:27 +01:00
Alan Davis
babe26b0ba
HXENG-64 refactor ATS (#657)
Refactor to clean up packages in the t-model and to introduce a simpler to implement t-engine base.

The new t-engines (tika, imagemagick, libreoffice, pdfrenderer, misc, aio, aspose) and t-router may be used in combination with older components as the API between the content Repo and between components has not changed. As far as possible the same artifacts are created (the -boot projects no longer exist). They may be used with older ACS repo versions.

The main changes to look for are:
* The introduction of TransformEngine and CustomTransformer interfaces to be implemented.
* The removal in t-engines and t-router of the Controller, Application, test template page, Controller tests and application config, as this is all now done by the t-engine base package.
* The t-router now extends the t-engine base, which also reduced the amount of duplicate code.
* The t-engine base provides the test page, which includes drop downs of known transform options. The t-router is able to use pipeline and failover transformers. This was not possible to do previously as the router had no test UI.
* Resources including licenses are automatically included in the all-in-one t-engine, from the individual t-engines. They just need to be added as dependencies in the pom. 
* The ugly code in the all-in-one t-engine and misc t-engine to pick transformers has gone, as they are now just selected by the transformRegistry.
* The way t-engines respond to http or message queue transform requests has been combined (eliminates the similar but different code that existed before).
* The t-engine base now uses InputStream and OutputStream rather than Files by default. As a result it will be simpler to avoid writing content to a temporary location.
* A number of the Tika and Misc CustomTransforms no longer use Files.
* The original t-engine base still exists so customers can continue to create custom t-engines the way they have done previously. the project has just been moved into a folder called deprecated.
* The folder structure has changed. The long "alfresco-transform-..." names have given way to shorter easier to read and type names.
* The t-engine project structure now has a single project rather than two. 
* The previous config values still exist, but there are now a new set for config values for in files with names that don't misleadingly imply they only contain pipeline of routing information. 
* The concept of 'routing' has much less emphasis in class names as the code just uses the transformRegistry. 
* TransformerConfig may now be read as json or yaml. The restrictions about what could be specified in yaml has gone.
* T-engines and t-router may use transform config from files. Previously it was just the t-router.
* The POC code to do with graphs of possible routes has been removed.
* All master branch changes have been merged in.
* The concept of a single transform request which results in multiple responses (e.g. images from a video) has been added to the core processing of requests in the t-engine base.
* Many SonarCloud linter fixes.
2022-09-14 13:40:19 +01:00
Alan Davis
64742a619e
ACS-2718 Streamline ATS t-model/t-core (#586)
* Merge alfresco-transform-model project into alfresco-transform-core - WITHOUT the git history
* Simplify Maven dependencies and build project
* Unify release process of combined t-model and t-core
2022-04-05 17:36:43 +01:00
evasques
f2c10d3fda
ATS-985 - Upgrade LibreOffice to 7.2.5 (#568)
* Upgrade LO to 7.2.5

* Update dockerfiles to use version 7.2.5 of Libreoffice uplodaded to nexus

* Correct formatting of Dockerfiles
2022-03-16 12:46:01 +00:00
Alan Davis
df519cfd6f
ACS-2498 Add coreVersion to T-Engine config (#526)
The bulk of the changes in this PR are to do with adding a coreVersion element to the transform element in the T-Engine config. For more detail see the class header of CoreVersionDecorator.

* Support the use of coreVersion so that it is possible to upgrade pods in any order
* Moved the majority of the RequestParamMap static finals to alfresco-transform-model and added a new one: "includeCoreVersion" parameter.
2022-02-09 22:39:40 +00:00
Tom Page
c28b65fba5
ACS-2499 Delete company release build stage. (#524)
* ACS-2499 Delete company release build stage.

This never uploaded any software, and so was not particularly useful. The software and license report should be
uploaded to S3 as part of the transform-service build.

Also skip uploading anything to staging bucket.
2022-02-02 11:13:14 +00:00
montgolfiere
105cc8d0af
ATS-935: Fix LibreOffice version in CI script (#510)
- in three places (it looks like 3rd place was missed as part of ATS-935)
2022-01-06 16:19:37 +00:00
Tom Page
adcca8ceb6
ACS-2382 Remove outdated references to Whitesource. 2022-01-06 10:54:38 +00:00
Tom Page
8e4c51b303
ACS-2382 Upload CSV license report to S3. 2022-01-06 10:36:45 +00:00
Jamal Kaabi-Mofrad
6a69611d13
ACS-2352: Added Veracode agent-based scanning integration. 2021-12-10 14:10:03 +00:00
montgolfiere
80351f9892
ATS-970: Fix build after Travis secrets rotation (#469)
- use QUAY_USERNAME  (set to "alfresco+travis_ci")
- (instead of old hard-coded "alfresco+bamboo" robot account that no longer exists)
- update settings.xml to use env vars for usernames (consistent with other projects)
2021-09-22 12:56:13 +01:00
Nebil Kisa
97b9fc39cf
ATS-851: Improve build reliability (#329)
- Add Maven Central to top of repo search list
- Disable Maven connection pool
- Fixed formatting
2021-02-02 13:36:06 +00:00
Nebil Kisa
c3acdfa72f
ATS-850_Disable_WhiteSource_Veracode_scans (#325)
* Disable WhiteSource & Veracode scans
* Disable Veracode scans
2021-01-26 17:44:38 +00:00
montgolfiere
2e82eb1b7c
ATS-764: Tweak Veracode SAST to see if we can get it to succeed (#250)
- only run for Core AIO (which combines the other x5)
- TODO see if we can tweak further and not upload -tests.jar

- see also ATS-468, ATS-718
2020-06-02 09:12:19 +01:00
David Edwards
0eda874c82
ATS-702 Add AIO tests from Misc Transformers (#234) 2020-04-23 12:35:27 +01:00
David Edwards
352388832d
ATS-724 Parallel Travis builds (#223)
* Split Build and test into separate jobs.
2020-04-20 16:10:32 +01:00
David Edwards
c66f691a10
ATS-725(REPO-4919) Update LibreOffice to 6.3.5 in cache_artifacts.sh (#224) 2020-04-16 12:11:41 +01:00
montgolfiere
6c7a2246e3
ATS-718: Tweak Veracode SAST to only upload & scan delivered artefacts (#216)
* ATS-718: Tweak Veracode SAST to only upload & scan delivered artefacts
- ie. only upload runnable jars (Spring Boot apps) x6 (= x1 AIO core T-Engine  + x5 individual core T-Engines)
- see also ATS-711 / ATS-696 / ATS-468

* ATS-718: Tweak Veracode SAST to only run scan on master for now
- also logged ATS-721
2020-04-15 11:49:37 +01:00
eknizat
af77d429e7
ATS-675:Add All-In-One transformer (#200)
* ATS-695/ATS-675 Add aio boot project

- Added the bare bones of a spring boot project to be used by aio. Currently based loosely on transform-misc.

* ATS-674/ATS-695 Add forms for each transformer.

* ATS-675/ATS-695 add empty test to pass build during dev

* ATS-695 remove maven profile to fix build

* ATS-675 Define interface and the aio transformer

* Fix formatting and rename the module as per review comments

* ATS-675/ATS-695 Add ProbeTestTransformation

Currenly uses MiscController implementation.

* ATS-675/ATS-695 Add logger method,

This will be code repeated in the local transform method and the processTransform method

* ATS-675/ATS-695 Implement local transform method

Minimum implementation for transform method.

* ATS-675/ATS-695  Implement processTransform

* ATS-675/ATS-695 Rename project to alfresco-transform-core-aio-boot

Add alfresco-transform-core-aio dependencies

* ATS-675/ATS-695 Fix build

Update project location
Update imports and variable declarations in TODOs
Add error handling.
Formatting.

* ATS-693: Update transform-misc Dockerfile with newly reserved uid

* Revert "ATS-691: Combine the win/linux pathToFile logic"

This reverts commit 61fe4820

* ATS-693: Update transform-misc Dockerfile with newly reserved uid

* "ATS-693: Add Dockerfile to aio-boot module"

* ATS-675/ATS-695 Add resource required for ProbeTestTrasform

* ATS-675/ATS-695 Remove test resources, to be added in test implementation

* ATS-693: Fix path to jar resources

* ATS-675/ATS-703 Moved Options builder to non boot jar.

* ATS-675/ATS-703 Rename OptionsBuilder to PdfRendererOptionsBuilder

This is to avoid confilct with OptionsBuilders in other T-engines.

* ATS-675/ATS-695 Added PdfRendererApadpter.java

Added dependency to pom.xml
Required transformation of String to Long, method added to Util.java

* ATS-675/ ATS-704

Implemented LibreOfficeAdapter

* ATS-675 Parity with base aio naming convention

* ATS-675/ATS-705 Implemented ImageMagickAdapter

Moved and renamed OptionsBuilder. Moved to alfresco-transform-imagemagick, renamed ImageMagickOptionsBuilder.
Added dependencies to pom.xml

* ATS-693: Implement maven docker build

* Initial tests
* Add initial tests for config aggregation
* Update AbstractTransformerControllerTest to use the new engine config names

* Fix up controller

* Fix travis tests  (#205)

* Fix engine specific properties for engine config location
* Temporarily add engine configs to test resources for the boot modules.  Will need to fix this properly

* Resolve some review comments

* ATS-675 - Move static strings to util class

* Refactor classes for simpler design (#210)

* ATS-702 Fix error handling

(cherry picked from commit e30cb5fda6ba2ae09c91ef61e69cba4689bcc8d9)

* ATS-675 Rename test class (fixes typo)

* ATS-675: Add aio transformer to static scan
2020-04-08 17:40:34 +01:00
eknizat
3bed6930bf
ATS-671: Split engines into fat & skinny modules (ATS-674) (#192)
Each transform engine project has been separated into 2 modules so that an executable and non-executable jar can be created. 
Modules have been renamed such that *docker* has been removed from the artifactIds and project names.

Co-authored-by: Erik Knizat <erik.knizat@alfresco.com>
Co-authored-by: David Edwards <david.edwards@alfresco.com>
2020-03-27 13:45:15 +00:00
Denis Ungureanu
46b2e6df5b
ATS-468 : Add Veracode (SAST & SCA) scans to Transform Service Travis builds (#188)
- add SCA & SAST
   - use wildcards to reference jars' locations - a single static scan will be triggered
   - use sandbox based on git branch
   - use maven plugin for source clear scans
   - filter logs
2020-03-19 18:26:55 +02:00
Cezar.Leahu
cd097f1988 ATS-656: Execute Maven commands in non-interactive mode 2020-02-07 16:28:38 +02:00
CezarLeahu
78e028bdec
ATS-586: Update Travis build configuration (#142)
- update settings.xml with missing servers
- remove *install* phase from *company_release* jobs
- use regex for matching support branches
- update deploy tasks
2019-10-14 15:22:59 +03:00
CezarLeahu
d9747f015d
ATS-466/ATS-538/ATS-539: Incorporate Misc T-Engine in ATS (#98)
- fix multiple Misc Transformer bugs related to file mimeTypes
- remove usage of 'source/targetMimetype' as transform options/parameters
- add 'source/targetMimetype' arguments to the 'processTransform' method
- remove unnecessary code (e.g. useless overridden methods)
- add quick* test resource files
- add integration test for 'Local Transformations' on the Misc engine
- set up Integration Tests POM configuration for all T-Engine modules
2019-08-26 13:59:38 +03:00
Cezar.Leahu
01c160fe25 ATS-534 : Security - Vulnerability in Quartz - CVE-2019-13990
- publish SNAPSHOT artifacts from the master branch
- exclude quartz dependency from tika-parsers
2019-08-21 10:20:35 +03:00
CezarLeahu
3b6647dae2
Set 'user.email' git configuration for release builds (#76) 2019-07-11 19:10:05 +03:00
Cezar.Leahu
69a836fc89 ATS-252 : Use docker-maven-plugin for the integration tests 2019-06-06 14:06:38 +03:00
CezarLeahu
7ecbcdb373
ATS-400 : Squash layers during docker image build (#28)
* ATS-400 : Squash layers during docker image build

* ATS-400 : Upgrade fabric8-maven-plugin to 4.1.0

* ATS-400 : Update build environment OS to Ubuntu 16 Xenial

* ATS-400 : Enable docker experimental features
2019-05-21 11:43:17 +03:00
CezarLeahu
053a6f16e8
ATS-400 : Build improvements for TravisCI (#24)
* ATS-400 : Build improvements for TravisCI

Building the LibreOffice docker image takes a long time due to the
large packages that need to be downloaded and installed. This results
in more than 10 minutes of inactivity in the build log and TravisCI
kills the job.
Improvements:
- remove and replace unnecessary steps in Docker builds
- cache LibreOffice GZIP distribution in Travis
2019-05-20 13:38:44 +03:00
DenisGabriela
27a55855fb
ATS-421 : ATS-400: Create Travis build for "alfresco-transform-core" (#25)
- login to dockerhub
2019-05-16 11:59:13 +03:00
DenisGabriela
a9218b16d3
ATS-421 : Create Travis build for "alfresco-transform-core" (#21)
* ATS-421 : ATS-400: Create Travis build for "alfresco-transform-core"
   - rename mvn profile from 'enterpriseDocker' to 'local'
   - add config to publish docker image on both Quay and Docker
   - remove unused 'master' profile - similar to ATS, publish images only from master branch and on Release
   - update <distributionManagement> to publish artefacts to Nexus public (rather than Enterprise Releases)
   - add travis build configs
   - include SP branches to travis build
  - add documentation on build&release process
2019-05-15 13:30:23 +03:00