Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,12 @@ id: testsuite
version: ""
path: "./"
dependencies:
- id: sap.f
version: ""
path: "../sap.f"

- id: sap.m
version: ""
path: "../sap.m"
- id: sap.f
version: ""
path: "../sap.f"
- id: sap.m
version: ""
path: "../sap.m"
````

This can be used via `ui5 serve -b static:/path/to/projectDependencies.yaml`
Expand Down
28 changes: 14 additions & 14 deletions docs/BuildExtensibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ metadata:
name: my.library
builder:
customTasks:
- name: babel
beforeTask: generateComponentPreload
- name: generateMarkdownFiles
afterTask: uglify
configuration:
color: blue
- name: babel
beforeTask: generateComponentPreload
- name: generateMarkdownFiles
afterTask: uglify
configuration:
color: blue
````

### Example: Connect multiple custom tasks
Expand All @@ -42,10 +42,10 @@ metadata:
name: my.library
builder:
customTasks:
- name: myCustomTask1
beforeTask: generateComponentPreload
- name: myCustomTask2
afterTask: myCustomTask1
- name: myCustomTask1
beforeTask: generateComponentPreload
- name: myCustomTask2
afterTask: myCustomTask1
````

## Custom Task Extension
Expand Down Expand Up @@ -83,10 +83,10 @@ metadata:
name: my.library
builder:
customTasks:
- name: generateMarkdownFiles
afterTask: uglify
configuration:
color: blue
- name: generateMarkdownFiles
afterTask: uglify
configuration:
color: blue
---
# Task extension as part of your project
specVersion: "1.0"
Expand Down
138 changes: 71 additions & 67 deletions docs/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ The content represents the **[Specification Version](#specification-versions) `1
## Contents
- [Project Configuration](#project-configuration)
- [Extension Configuration](#extension-configuration)
+ [Tasks](#tasks)
+ [Project Shims](#project-shims)
+ [Tasks](#tasks)
+ [Project Shims](#project-shims)
- [Specification Versions](#specification-versions)

## Project Configuration
Expand All @@ -33,15 +33,15 @@ Configuration can also be supplied by other means. In cases where JSON is used,
specVersion: "1.0"
type: application|library|module
metadata:
name: testsuite
name: some.project.name
copyright: |-
<project name>
* (c) Copyright 2009-${currentYear} <my company> <my license>
resources:
configuration:
paths:
"<abstract path 1>": "<physical path 1>"
"<abstract path 2>": "<physical path 2>"
"<virtual path 1>": "<physical path 1>"
"<virtual path 2>": "<physical path 2>"
builder:
customTasks:
- name: custom-task-name-1
Expand All @@ -52,6 +52,9 @@ builder:
afterTask: custom-task-name-1
configuration:
color: blue
jsdoc:
excludes:
- some/project/name/thirdparty/**
server:
settings:
port: 8099
Expand All @@ -70,21 +73,23 @@ Some general information:
#### resources (optional)
- `configuration`
- `paths`: Mapping between virtual paths and physical paths. Physical paths are always relative to the projects root directory
+ `webapp: webapp`: This path will be mapped to the virtual path `/`.
*(Only available for projects of type `application`)*
+ `src: src`: This path will be mapped to the virtual path `/resources`.
*(Only available for projects of type `library`)*
+ `test: test`: This path will be mapped to the virtual path `/test-resources`.
*(Only available for projects of type `library`)*
+ `webapp: webapp`: This path will be mapped to the virtual path `/`.
*(Only available for projects of type `application`)*
+ `src: src`: This path will be mapped to the virtual path `/resources`.
*(Only available for projects of type `library`)*
+ `test: test`: This path will be mapped to the virtual path `/test-resources`.
*(Only available for projects of type `library`)*
+ `<virtual path>: <physical path>` (default `/: ./`): Any virtual path mapping can be defined here.
*(Only available for projects of type `module`)*
It is recommended that modules include their namespace in the virtual path and use the `/resources` prefix (e.g. `/resources/my/first/library/module-xy`).

#### builder (optional)
- `customTasks` (optional, list): In this block, you define additional custom build tasks, see [here](./BuildExtensibility.md) for a detailed explanation and examples of the build extensibility. Each entry in the `customTasks` list consists of the following options:
- `name` (mandatory): The name of the custom task
- `afterTask` or `beforeTask` (only one, mandatory): The name of the build task after or before which your custom task will be executed.
- `configuration` (optional): Additional configuration that is passed to the custom build task
- `name` (mandatory): The name of the custom task
- `afterTask` or `beforeTask` (only one, mandatory): The name of the build task after or before which your custom task will be executed.
- `configuration` (optional): Additional configuration that is passed to the custom build task
- `jsdoc`
- `excludes`: List of glob patterns. Matching resources will be ignored from the JSDoc build

#### server (optional)
- `settings` (not yet implemented)
Expand All @@ -111,31 +116,30 @@ specVersion: "1.0"
kind: extension
type: project-shim
metadata:
name: <name of project shim extension>
name: <name of project shim extension>
shims:
configurations:
<module name (id)>:
specVersion: "1.0",
type: <project type>
metadata:
name: <project name>
<module name (id)>:
specVersion: "1.0",
type: <project type>
metadata:
name: <project name>
dependencies:
<module name (id)>:
- <module name (id)>
- <module name (id)>
- <module name (id)>
- ...
collections:
<module name>:
modules:
<id>: <relative path>
<id>: <relative path>
<id>: <relative path>
configurations:
<module name (id)>:
specVersion: "1.0",
type: <project type>
metadata:
name: <project name>
<module name (id)>:
specVersion: "1.0",
type: <project type>
metadata:
name: <project name>
dependencies:
<module name (id)>:
- <module name (id)>
- <module name (id)>
- <module name (id)>
collections:
<module name>:
modules:
<id>: <relative path>
<id>: <relative path>
<id>: <relative path>
```

"module name" refers to the name of the module as identified by the used translator. E.g. when using the npm translator, the name declared in the modules `package.json` is used here. In most cases, the module name also becomes the internal ID of the project.
Expand Down Expand Up @@ -248,41 +252,41 @@ The shim defined in the application configures the legacy libraries and defines
specVersion: "1.0"
type: application
metadata:
name: application.a
name: application.a
----
specVersion: "1.0"
kind: extension
type: project-shim
metadata:
name: legacy-lib-shims
name: legacy-lib-shims
shims:
configurations:
legacy-library-a:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.a
legacy-library-b:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.b
legacy-library-x:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.x
dependencies:
legacy-library-a:
- legacy-library-b
- legacy-library-x
legacy-library-b:
- legacy-library-x
collections:
legacy-libs:
modules:
legacy-library-a: src/library.a
legacy-library-b: src/library.b
configurations:
legacy-library-a:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.a
legacy-library-b:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.b
legacy-library-x:
specVersion: "1.0"
type: library
metadata:
name: legacy.library.x
dependencies:
legacy-library-a:
- legacy-library-b
- legacy-library-x
legacy-library-b:
- legacy-library-x
collections:
legacy-libs:
modules:
legacy-library-a: src/library.a
legacy-library-b: src/library.b
```

## Specification Versions
Expand Down