Skip to content

Commit

Permalink
Merge pull request #12 from fantonangeli/sync-main-pr-20240509
Browse files Browse the repository at this point in the history
Sync main branch with Apache main branch
  • Loading branch information
rgdoliveira authored May 9, 2024
2 parents a289518 + 2d15301 commit 275507f
Show file tree
Hide file tree
Showing 922 changed files with 15,792 additions and 858 deletions.
22 changes: 22 additions & 0 deletions DISCLAIMER
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Apache KIE (incubating) is an effort undergoing incubation at The Apache Software
Foundation (ASF), sponsored by the name of Apache Incubator. Incubation is
required of all newly accepted projects until a further review indicates that
the infrastructure, communications, and decision making process have stabilized
in a manner consistent with other successful ASF projects. While incubation
status is not necessarily a reflection of the completeness or stability of the
code, it does indicate that the project has yet to be fully endorsed by the ASF.

Some of the incubating project’s releases may not be fully compliant with ASF
policy. For example, releases may have incomplete or un-reviewed licensing
conditions. What follows is a list of known issues the project is currently
aware of (note that this list, by definition, is likely to be incomplete):

* Hibernate, an LGPL project, is being used. Hibernate is in the process of relicensing to ASL v2
* Some files, particularly test files, and those not supporting comments, may be missing the ASF Licensing Header
*

If you are planning to incorporate this work into your product/project, please
be aware that you will need to conduct a thorough licensing review to determine
the overall implications of including this work. For the current status of this
project through the Apache Incubator visit:
https://incubator.apache.org/projects/kie.html
8 changes: 8 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ This product also includes the following third-party components:

Copyright (C) 2013 GwtBootstrap3

* highlight.js (https://highlightjs.org)

Copyright (C) highlight.js

* Jakarta EE (https://jakarta.ee/)

Copyright (C) Eclipse and contributors
Expand Down Expand Up @@ -81,3 +85,7 @@ This product also includes the following third-party components:
* SnakeYAML (https://bitbucket.org/snakeyaml/snakeyaml)

Copyright (c) 2018, SnakeYAML

* wysihtml (https://github.com/Voog/wysihtml)

Copyright (C) 2012-2016 XING AG, Voog and contributors
104 changes: 72 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,45 +20,85 @@ This repository contains tooling applications and libraries for KIE projects.

## Build from source

> **💡 Nix development environment**: A _devbox_ configuration is provided to automatically setup all the tools above, read more in [here](./NIX_DEV_ENV.md).
#### Step 0: Install the necessary tools

To start building the Apache KIE Tools project, you're going to need:
> **💡 RECOMMENDED**
>
> **Nix development environment**: A _devbox_ configuration is provided to automatically setup all the tools below. Read more in [here](./NIX_DEV_ENV.md).
To build and test all packages of the Apache KIE Tools project, you're going to need:

- Node `18` _(To install, follow these instructions: https://nodejs.org/en/download/package-manager/)_
- pnpm `8.7.0` _(To install, follow these instructions: https://pnpm.io/installation)_
- pnpm `8.7.0` _(To install, follow these instructions: https://pnpm.io/installation#using-npm)_
- Maven `3.9.6`
- Java `17`
- Go `1.21.5` _(To install, follow these instructions: https://go.dev/doc/install)_
- Go `1.21.9` _(To install, follow these instructions: https://go.dev/doc/install)_
- Python `3.12` _(To install, follow these instructions: https://www.python.org/downloads/)_
- Helm `3.13.3` _(To install, follow these instructions: https://helm.sh/docs/intro/install/)_
- Make

> **ℹ️ NOTE**
>
> If you plan on building container images, make sure you have a working Docker setup. Setting `KIE_TOOLS_BUILD__buildContainerImages=true` will also be necessary.
#### Step 1: Bootstrap

Bootstrapping installs the necessary dependencies for each package.

- `pnpm bootstrap` --> Will bootstrap all packages
- `pnpm bootstrap [pnpm-filter]` --> Will bootstrap packages filtered by [`pnpm` filter](https://pnpm.io/filtering)
- > E.g.,
>
> `pnpm bootstrap -F dmn-editor...` bootstraps the `dmn-editor` package and its dependencies.
> **ℹ️ NOTE**
>
> If you plan on running Playwright tests, set the `PLAYWRIGHT_BASE__installDeps` environment variable to `true` before running the command above.
>
> `PLAYWRIGHT_BASE__installDeps=true pnpm bootstrap`.
>
> This will install all Playwright dependencies (such as browsers engines and OS-specific libraries).
#### Step 2: Build

- Dev

- `pnpm -r build:dev`
- Will build all packages for development. Skipping linters, tests, minifiers etc.
- `pnpm [pnpm-filter] build:dev`
- Will build packages filtered by [`pnpm` filter](https://pnpm.io/filtering)
- > E.g.,
>
> `pnpm -F dmn-editor... build:dev` builds the `dmn-editor` package and its dependencies.
- Prod

- `pnpm -r build:prod`
- Will build all packages for production. Optimizers will run, binaries will be produced for multiple architectures etc.
- `pnpm [pnpm-filter] build:prod`
- Will build packages filtered by [`pnpm` filter](https://pnpm.io/filtering)
- > E.g.,
>
> `pnpm -F dmn-editor... build:prod` builds the `dmn-editor` package and its dependencies.
- Changed
- `pnpm -F '...[HEAD]' build:dev`; or
- `pnpm -F '...[HEAD]' build:prod`
- Will build changed and affected packages based on your local changes. Useful for verifying that you didn't break anything.

> **ℹ️ NOTE**
>
> The Apache KIE Tools build is parameterized by several Environment Variables. For an extensive list of these variables, please see the list printed by the `bootstrap` step.
>
> - To enable the examples build: `export KIE_TOOLS_BUILD__buildExamples=true`
> - To enable container images build: `export KIE_TOOLS_BUILD__buildContainerImages=true`
> - To enable E2E tests: `export KIE_TOOLS_BUILD__runEndToEndTests=true`
> **ℹ️ NOTE**
>
> Final artifacts will be in `{packages,examples}/*/dist` directories.
> **ℹ️ NOTE:** Some packages will require that `make` is available as well.
After installing the tools above, you'll need to download the dependencies and link the packages locally. Simply run:

- `pnpm bootstrap`

> **ℹ️ NOTE:** If you plan on running Playwright tests, set the `PLAYWRIGHT_BASE__installDeps` environment variable to `true` before running the command above: `PLAYWRIGHT_BASE__installDeps=true pnpm bootstrap`. This will install all Playwright dependencies (such as browsers engines and OS specific libraries).
To install only the dependencies that are relevant to the package called `[pkg-name]`.

- `pnpm bootstrap -F [pkg-name]...`

> **ℹ️ NOTE:** Here, `...` is actually **necessary**! They're part of a [`pnpm` filter](https://pnpm.io/filtering#--filter-package_name-1).
After dependencies are installed, you'll be able to build. To do so, you'll have two choices - `dev`, or `prod`.

Note that it is recommended that you specify which package you want to build, so replace `[pkg-name]` with the name of the desired package on one of the commands below:

- `pnpm -F [pkg-name]... build:dev` - This is fast, but not as strict. It skips tests, linters, and some type checks. Be prepared for the CI to fail on your PRs.
- `pnpm -F [pkg-name]... build:prod` - The default command to build production-ready packages. Use that to make sure your changes are correct.

> **ℹ️ NOTE:** Here, `...` is actually **necessary**! They're part of a [`pnpm` filter](https://pnpm.io/filtering#--filter-package_name-1).
> **ℹ️ NOTE:** If you want to build _everything_, run `pnpm -r build:dev` or `pnpm -r build:prod`. It's going to take a while, though :)
> **ℹ️ NOTE:** The Apache KIE Tools build is parameterized by several Environment Variables. For an extensive list of these variables, please see the list printed by the `bootstrap` script.
> **ℹ️ NOTE:** Final artifacts will be on `{packages,examples}/*/dist` directories.
---

## Applications

Expand Down
4 changes: 2 additions & 2 deletions devbox.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
"$schema": "https://raw.githubusercontent.com/jetpack-io/devbox/0.10.4/.schema/devbox.schema.json",
"packages": {
"temurin-bin-17": "17.0.9",
"nodejs": "18.19.1",
"nodejs": "18.20.2",
"maven": "3.9.6",
"kubernetes-helm": "3.13.3",
"gnumake": "4.4.1",
"go": "1.21.8",
"go": "1.21.9",
"python": "3.12.2"
},
"env": {
Expand Down
56 changes: 28 additions & 28 deletions devbox.lock
Original file line number Diff line number Diff line change
Expand Up @@ -93,51 +93,51 @@
}
}
},
"[email protected].8": {
"last_modified": "2024-03-22T11:26:23Z",
"resolved": "github:NixOS/nixpkgs/a3ed7406349a9335cb4c2a71369b697cecd9d351#go_1_21",
"[email protected].9": {
"last_modified": "2024-04-19T17:36:04-04:00",
"resolved": "github:NixOS/nixpkgs/92d295f588631b0db2da509f381b4fb1e74173c5#go_1_21",
"source": "devbox-search",
"version": "1.21.8",
"version": "1.21.9",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/zla9agv9h4w5byazjx2vhwnsqnk96cb5-go-1.21.8",
"path": "/nix/store/hnqasgvlimar5j7k0kpbbbxbkn8zn1sj-go-1.21.9",
"default": true
}
],
"store_path": "/nix/store/zla9agv9h4w5byazjx2vhwnsqnk96cb5-go-1.21.8"
"store_path": "/nix/store/hnqasgvlimar5j7k0kpbbbxbkn8zn1sj-go-1.21.9"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/4mjpm4gxn04drnr2l83js185v66fw6nz-go-1.21.8",
"path": "/nix/store/1j8kg9v5zck8j2vnxng7qg9fd7kmmahm-go-1.21.9",
"default": true
}
],
"store_path": "/nix/store/4mjpm4gxn04drnr2l83js185v66fw6nz-go-1.21.8"
"store_path": "/nix/store/1j8kg9v5zck8j2vnxng7qg9fd7kmmahm-go-1.21.9"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/isc1mgnbrfiqi3blr8glixdq1nmlap0h-go-1.21.8",
"path": "/nix/store/hy3h296ckqcdrm4bq8gxwrrpgfi84lxm-go-1.21.9",
"default": true
}
],
"store_path": "/nix/store/isc1mgnbrfiqi3blr8glixdq1nmlap0h-go-1.21.8"
"store_path": "/nix/store/hy3h296ckqcdrm4bq8gxwrrpgfi84lxm-go-1.21.9"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/afv3zwqxyw062vg2j220658jq0g1yadv-go-1.21.8",
"path": "/nix/store/r9qdln83ffwmhjrl20byxxxav645mb5b-go-1.21.9",
"default": true
}
],
"store_path": "/nix/store/afv3zwqxyw062vg2j220658jq0g1yadv-go-1.21.8"
"store_path": "/nix/store/r9qdln83ffwmhjrl20byxxxav645mb5b-go-1.21.9"
}
}
},
Expand Down Expand Up @@ -237,68 +237,68 @@
}
}
},
"nodejs@18.19.1": {
"last_modified": "2024-03-29T03:06:03Z",
"nodejs@18.20.2": {
"last_modified": "2024-04-19T17:36:04-04:00",
"plugin_version": "0.0.2",
"resolved": "github:NixOS/nixpkgs/9b09bde6e3fc9493b6a8b2a5702ac87c66505c64#nodejs_18",
"resolved": "github:NixOS/nixpkgs/92d295f588631b0db2da509f381b4fb1e74173c5#nodejs_18",
"source": "devbox-search",
"version": "18.19.1",
"version": "18.20.2",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/r5iax8ijz3fb2318mvk1lqhmgd3ywra0-nodejs-18.19.1",
"path": "/nix/store/c4cy6ivwvyccxb5cgvmibb48cz5kgbxh-nodejs-18.20.2",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/5da4myd75fd2lng1c5y7vgsjx5d0fzps-nodejs-18.19.1-libv8"
"path": "/nix/store/sl20inmjg0p9nbsqcbvrrynbxr0d4z4j-nodejs-18.20.2-libv8"
}
],
"store_path": "/nix/store/r5iax8ijz3fb2318mvk1lqhmgd3ywra0-nodejs-18.19.1"
"store_path": "/nix/store/c4cy6ivwvyccxb5cgvmibb48cz5kgbxh-nodejs-18.20.2"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/c77aqmmdz2xrnwx8r00830vrikpvxsgs-nodejs-18.19.1",
"path": "/nix/store/02sxkyivycayrw2qbf0vbln1vv2l75wg-nodejs-18.20.2",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/kbsp3mrmr31fs0qvscik29ls4ph97wvy-nodejs-18.19.1-libv8"
"path": "/nix/store/sl5gvfjjm6f0b818vnggkpadr1mcyfs3-nodejs-18.20.2-libv8"
}
],
"store_path": "/nix/store/c77aqmmdz2xrnwx8r00830vrikpvxsgs-nodejs-18.19.1"
"store_path": "/nix/store/02sxkyivycayrw2qbf0vbln1vv2l75wg-nodejs-18.20.2"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/d797z1ds0cp8djhd4r6g7lw660npalv4-nodejs-18.19.1",
"path": "/nix/store/8j5ld9b8gciy0dfpnjbi98w76v05kia6-nodejs-18.20.2",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/1m4bp8f0frjjrfgrply18hssy1ddpxjp-nodejs-18.19.1-libv8"
"path": "/nix/store/bza5hfp4mb002mp12g33v5arcpyg223s-nodejs-18.20.2-libv8"
}
],
"store_path": "/nix/store/d797z1ds0cp8djhd4r6g7lw660npalv4-nodejs-18.19.1"
"store_path": "/nix/store/8j5ld9b8gciy0dfpnjbi98w76v05kia6-nodejs-18.20.2"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/s01jxkf9lr2ajlqxk86065rs77mm96am-nodejs-18.19.1",
"path": "/nix/store/c9wp3qkbfkpx2vylglrmd4w0jwvm216z-nodejs-18.20.2",
"default": true
},
{
"name": "libv8",
"path": "/nix/store/82932mmpy9jyry0f1yn8s31l0vnd9xa2-nodejs-18.19.1-libv8"
"path": "/nix/store/1il1i3j9qch6hg6f7pp1753z95lappzv-nodejs-18.20.2-libv8"
}
],
"store_path": "/nix/store/s01jxkf9lr2ajlqxk86065rs77mm96am-nodejs-18.19.1"
"store_path": "/nix/store/c9wp3qkbfkpx2vylglrmd4w0jwvm216z-nodejs-18.20.2"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
Expand Down
Loading

0 comments on commit 275507f

Please sign in to comment.