Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INTERNAL] Initial refactoring for introducing a Project class #394

Closed
wants to merge 99 commits into from

Conversation

RandomByte
Copy link
Member

@RandomByte RandomByte commented Feb 12, 2021

RandomByte added a commit to SAP/ui5-cli that referenced this pull request Feb 14, 2021
RandomByte added a commit to SAP/ui5-cli that referenced this pull request Feb 14, 2021
@RandomByte RandomByte force-pushed the project-class branch 3 times, most recently from 978fc8d to f2084af Compare February 20, 2021 01:04
RandomByte added a commit to SAP/ui5-cli that referenced this pull request Mar 6, 2021
@RandomByte RandomByte force-pushed the project-class branch 2 times, most recently from f5bf3c1 to 474f931 Compare March 12, 2021 12:28
@RandomByte RandomByte force-pushed the project-class branch 4 times, most recently from 2340285 to be120ac Compare April 23, 2022 10:02
RandomByte added a commit to SAP/ui5-cli that referenced this pull request Apr 23, 2022
@RandomByte RandomByte changed the base branch from master to next April 26, 2022 09:04
@RandomByte RandomByte force-pushed the project-class branch 2 times, most recently from 29ad613 to 9045e11 Compare April 30, 2022 09:55
RandomByte added a commit to SAP/ui5-cli that referenced this pull request May 18, 2022
RandomByte added a commit that referenced this pull request Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
    * Projects are now represented by classes with documented APIs
    * Projects can be accessed by extensions defining specVersion >=2.7
    * Speed up resolution of package.json dependencies
        * Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
    * ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
  dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
  manifest file in the target directory that allows reuse of the
  build result of  library and theme-library projects in other project
  builds (RFC0011)

This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.

This is a nicer version of
#394

Implements RFC0009: SAP/ui5-tooling#501
Implements RFC0011: SAP/ui5-tooling#612

BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
    * In case a legacy specification version is detected, an automatic,
      transparent migration is attempted.
* Build:
    * The "dev" build mode has been removed
    * The task "generateVersionInfo" is no longer executed for
      application projects by default. You may enable it again using the
      includedTasks parameter
@RandomByte
Copy link
Member Author

Superseded by #457

@RandomByte RandomByte closed this Jun 13, 2022
RandomByte added a commit that referenced this pull request Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
    * Projects are now represented by classes with documented APIs
    * Projects can be accessed by extensions defining specVersion >=2.7
    * Speed up resolution of package.json dependencies
        * Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
    * ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
  dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
  manifest file in the target directory that allows reuse of the
  build result of  library and theme-library projects in other project
  builds (RFC0011)

This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.

This is a nicer version of
#394

Implements RFC0009: SAP/ui5-tooling#501
Implements RFC0011: SAP/ui5-tooling#612

BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
    * In case a legacy specification version is detected, an automatic,
      transparent migration is attempted.
* Build:
    * The "dev" build mode has been removed
    * The task "generateVersionInfo" is no longer executed for
      application projects by default. You may enable it again using the
      includedTasks parameter
RandomByte added a commit that referenced this pull request Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
    * Projects are now represented by classes with documented APIs
    * Projects can be accessed by extensions defining specVersion >=2.7
    * Speed up resolution of package.json dependencies
        * Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
    * ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
  dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
  manifest file in the target directory that allows reuse of the
  build result of  library and theme-library projects in other project
  builds (RFC0011)

This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.

This is a nicer version of
#394

Implements RFC0009: SAP/ui5-tooling#501
Implements RFC0011: SAP/ui5-tooling#612

BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
    * In case a legacy specification version is detected, an automatic,
      transparent migration is attempted.
* Build:
    * The "dev" build mode has been removed
    * The task "generateVersionInfo" is no longer executed for
      application projects by default. You may enable it again using the
      includedTasks parameter
@RandomByte RandomByte deleted the project-class branch June 15, 2022 13:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants