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

As a developer I want to replace N4MF files by package JSON files #809

Closed
5 tasks done
mor-n4 opened this issue May 16, 2018 · 0 comments
Closed
5 tasks done

As a developer I want to replace N4MF files by package JSON files #809

mor-n4 opened this issue May 16, 2018 · 0 comments
Assignees

Comments

@mor-n4
Copy link
Contributor

mor-n4 commented May 16, 2018

Instead of defining dependencies etc. in the manifest, we need to use package.json. There must be no redundancies!

Some information may not be found in the package.json by default. We need to decide whether we want a separate file (in json format, similar to typescript) or a section in the package json (similar to linters) containing that information. We would prefer using only package.json -- investigate why TypeScript uses a different file.

We need to be able to read all information from package.json that are important for n4js.

Acceptance Criteria

  • Dependencies, Name, Version etc. are read from package.json
    • this includes supporting semver syntax as defined in package json
  • Missing information is available either in package.json or n4js.json depending on decision above
  • n4mf related plugins are removed (to be clarified how we do that)
  • spec updated
  • When no type information is additionally provided, the library manager must NOT change the downloaded NPMs at all. At the moment, the library manager automatically adds the manifest and may perform other changes. This must not happen anymore.
@mor-n4 mor-n4 self-assigned this May 16, 2018
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue May 24, 2018
…ckage.json

validation)

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue May 29, 2018
…use package.json

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 added a commit that referenced this issue May 30, 2018
# Conflicts:
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionHelper.java
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jun 1, 2018
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jun 1, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jun 1, 2018
…d n4js-es5

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jun 1, 2018
… n4js-es5

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 added a commit that referenced this issue Jun 6, 2018
…ion (#856)

* copy information from manifest.n4mf to package.json n4js section

* GH-809: updating manifest deps, writing .npmignore

* remove empty moduleFilters properties

* add property 'version' to package.json

* align version property in package.json

* add tested projects to dependencies in package.json

* Update shipped code

* check exit code of npm while updating shipped code

* GH-809: Add linebreaks at EOF

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: generate shipped-code directory + remove published old n4js-es5

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 added a commit that referenced this issue Jul 23, 2018
# Conflicts:
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/ProjectDependency.java
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/impl/N4mfPackageImpl.java
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/impl/ProjectDependencyImpl.java
#	plugins/org.eclipse.n4js.n4mf.model/model/N4MF.xcore
#	plugins/org.eclipse.n4js.ui/src/org/eclipse/n4js/ui/quickfix/N4JSQuickfixProvider.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/ExternalIndexSynchronizer.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/LibraryManager.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/NpmCLI.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/NpmPackageToProjectAdapter.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/projectModel/dependencies/DependencyInfo.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/packagejson/PackageJsonResourceDescriptionExtension.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionHelper.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/PackageJsonValidatorExtension.java
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 23, 2018
…braries

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 23, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
yoosiba pushed a commit that referenced this issue Jul 24, 2018
* GH-809: rename PolyFilledProvision

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: simplify N4HeadlessCompiler by moving logic to BuildSetComputer

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: simplify test code with helper functions

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: perform late project registration if necessary

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: switch to more sensible name for logger method

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 24, 2018
mor-n4 added a commit that referenced this issue Jul 24, 2018
# Conflicts:
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/ProjectDescription.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/ProjectDescriptionFactory.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/ProjectType.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/impl/ProjectDescriptionFactoryImpl.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/impl/ProjectDescriptionImpl.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/impl/ProjectDescriptionPackageImpl.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/util/ProjectDescriptionAdapterFactory.java
#	plugins/org.eclipse.n4js.model/emf-gen/org/eclipse/n4js/projectDescription/util/ProjectDescriptionSwitch.java
#	plugins/org.eclipse.n4js.n4mf.model/META-INF/MANIFEST.MF
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/N4mfPackage.java
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/ProjectDependency.java
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/ProjectDependencyScope.java
#	plugins/org.eclipse.n4js.n4mf.model/emf-gen/org/eclipse/n4js/n4mf/impl/ProjectDependencyImpl.java
#	plugins/org.eclipse.n4js.n4mf.model/model/N4MF.xcore
#	plugins/org.eclipse.n4js.npmexporter/META-INF/MANIFEST.MF
#	plugins/org.eclipse.n4js.ui/src/org/eclipse/n4js/ui/preferences/external/BuiltInLibrariesLabelProvider.java
#	plugins/org.eclipse.n4js.ui/src/org/eclipse/n4js/ui/preferences/external/ExternalLibraryPreferencePage.java
#	plugins/org.eclipse.n4js.ui/src/org/eclipse/n4js/ui/quickfix/N4JSQuickfixProvider.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/ExternalIndexSynchronizer.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/LibraryManager.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/NpmCLI.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/external/NpmPackageToProjectAdapter.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/internal/N4JSProject.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/projectModel/IN4JSProject.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/projectModel/dependencies/DependencyInfo.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/resource/packagejson/PackageJsonResourceDescriptionExtension.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionHelper.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/utils/ProjectDescriptionUtils.java
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/N4JSProjectSetupJsonValidatorExtension.xtend
#	plugins/org.eclipse.n4js/src/org/eclipse/n4js/validation/validators/packagejson/PackageJsonValidatorExtension.java
#	testhelpers/org.eclipse.n4js.tests.helper/src/org/eclipse/n4js/MockWorkspace.java
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 24, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 25, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 added a commit that referenced this issue Jul 25, 2018
…iles (#1014)

* remove obsolete properties from N4MF.xcore

* fix some bugs

* move constants to new class PackageJsonConstants

* remove unused inner class from ProjectDescriptionHelper

* fix some bugs

* add comment for later cleanup

* clean up of ProjectDescriptionHelper (1st iteration)

* minor changes in comments

* fix some bugs

* fix bug in TimedMeasurement and ExampleWizard test

* clean up of ProjectDescriptionHelper (2nd iteration)

* fix minor problem with converting JSONValues

* improve error reporting of N4jscBase in case of unexpected exceptions

* improvement of compare and relation methods regarding SEMVER

* fix search/replace mistake

* fix dependency injection

* add tests. add other fixes

* rename of SEMVER.xcore model elements

* minor fix in json tests bundle

* add comment to clarify name of SimpleVersion

* tests for JSONDocument to ProductDescription conversion (1st step)

* some more clean up in N4MF.xcore

* refactor SEMVERSerializer

* semver is validated inside JSON files

* some smaller fixes and improvements

* rename to Semver

* some bug fixes in tests

* rename from SEMVER to Semver. fix bug in UI case

* enable Semver in some tests without having a Semver editor

* add ui test

* improve grammar to force version numbers when start with digit or v

* refactorings. adjust tests

* fix NPE

* small test adjustments and refactorings

* synchronized .settings folder

* adjust warning settings. fix bug

* refactor n4mf

* improve grammar

* adjust tests

* fix some issues + adjust some tests

* renaming some methods

* move N4MF.xcore to org.eclipse.n4js.model + rename + delete old bundle

* remove some more occurrences of "n4mf", etc.

* remove more occurrences of "n4mf" (mostly comments, field names, etc.)

* improve grammar for better version support and non-backtracking

* remove N4MF resource type

* hack to make big button work until GH-824 is done

* adjust matching to behavior of npm

* fix merge issue

* temporary: add fail fast in case of null value

* remove some temporary debugging code

* add work-around for issue GH-1011

* fix a problem in library manager (partial, see pending GH-1017)

* minor changes (comments, white-space)
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 26, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 31, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 31, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 pushed a commit that referenced this issue Jul 31, 2018
* update spec with package.json properties

* GH-809: further spec updates wrt. package.json

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: Rename source-container-aware resource validator

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 31, 2018
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Jul 31, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Aug 1, 2018
…d file

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Aug 1, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
lbeurerkellner added a commit to lbeurerkellner/n4js that referenced this issue Aug 1, 2018
Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
mor-n4 pushed a commit that referenced this issue Aug 1, 2018
* GH-809: remove NFAR support pt. 1: libraries

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: remove NFAR support pt. 2: remove refs to IN4JSArchive

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: remove NFAR pt. 3: remove refs to N4JSArchive and subclasses

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: remove NFAR pt. 4: remove all *N4JSArchive classes/interfaces

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: GH-809: remove NFAR pt. 6: remove N4JSSourceContainerAware

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: GH-809: remove NFAR pt. 7: remove more 'archive' related code

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: GH-809: remove NFAR pt. 8: remove obsolete export wizard code

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: GH-809: remove NFAR: remove code/comments on 'archive'

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: GH-809: remove NFAR: remove code/comments mentioning 'nfar'

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809: NFAR removal: simplification + tweaks wrt. external libraries

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809 NFAR removal: remove spec paragraph on NFAR

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809-nfar: re-apply spec update wrt. the NFAR removal

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809-nfar: remove obsolete ConvertManifestToPackageJson xtend file

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809-nfar: remove remains of obsolete generator.common bundle

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>

* GH-809-nfar: restore immutability of return value

Signed-off-by: Luca Beurer-Kellner <lucabeurerkellner@gmail.com>
@mmews-n4 mmews-n4 closed this as completed Feb 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants