collaborationFactory/cplace-asc

Make cplace-asc parsing a new project descriptor and get rid of IDEa files

Closed this issue · 2 comments

As one major topic of the transformation to a new build system (Gradle) is to get rid of any dependencies of the build and runtime of cplace to IDEA, a new file describing the module (or better, plugin) will replace the iml-s.

Right now this is named pluginDescriptor.json, located directly in the modules directory:

.
── cf.cplace.api.jaxws.base
│   ├── build
│   ├── config
│   ├── lib
│   ├── pluginDescriptor.json <---
│   ├── src
│   └── templates
── cf.cplace.apiToken
│   ├── build
│   ├── config
│   ├── pluginDescriptor.json <---
│   ├── src
│   └── templates
...

As it can be generated for each build, it contents for test and prod will differ.

Production (NO testDependencies):

{
    "name": "cf.cplace.workspaceBackground",
    "dependencies": [
        "cf.cplace.platform"
    ]
}

Test (including empty testDependencies):
main/cf.cplace.tocWidget/pluginDescriptor.json

{
    "name": "cf.cplace.tocWidget",
    "dependencies": [
        "cf.cplace.platform"
    ],
    "testDependencies": [
        
    ]
}

Test (including testDependencies):
main/cf.cplace.training.extended/pluginDescriptor.json

{
    "name": "cf.cplace.training.extended",
    "dependencies": [
        "cf.cplace.platform",
        "cf.cplace.handsOnTable",
        "cf.cplace.pageViewHeadline",
        "cf.cplace.layoutTabsWidget",
        "cf.cplace.asposeReporting",
        "cf.cplace.appGenerator"
    ],
    "testDependencies": [
        "cf.cplace.appGenerator"
    ]
}

I got the slight feeling, that the folder resolution for less compilation will need some consideration as well (current release version of asc):

⟲ [cf.cplace.appGenerator] starting LESS compilation...
✗ FileError: '../../../../main/cf.cplace.platform/assets/less/includes' wasn't found. Tried - /home/circleci/collaborationFactory/main/cf.cplace.platform/assets/less/includes.less,../../../../main/cf.cplace.platform/assets/less/includes.less in /home/circleci/collaborationFactory/cplace/cf.cplace.appGenerator/assets/less/plugin.less on line 4, column 1:
3 
4 @import '@{plugin-path-cf-cplace-platform}/assets/less/includes';
5 


✗ Error: [cf.cplace.appGenerator] LESS compilation failed



✗ COMPILATION FAILED - please check errors in output above

> Task :asc FAILED

FAILURE: Build failed with an exception.

see circle ci build

... but please not that this could be also a problem of the gradle build itself.

The LESS problem can be worked around by replacing the first line of the LESS files as done in the old Ant-based build in packaging/build.xml:554