diff --git a/.github/abaplint/abap_702.jsonc b/.github/abaplint/abap_702.jsonc new file mode 100644 index 0000000..065161f --- /dev/null +++ b/.github/abaplint/abap_702.jsonc @@ -0,0 +1,30 @@ +{ + "global": { + "files": "/../../src/**/*.*" + }, + "dependencies": [ + { + "url": "https://github.com/open-abap/open-abap-core", + "folder": "/deps", + "files": "/src/**/*.*" + } + ], + "syntax": { + "version": "v702", + "errorNamespace": "." + }, + "rules": { + "downport": true, + "begin_end_names": true, + "check_ddic": true, + "check_include": true, + "check_syntax": true, + "global_class": true, + "implement_methods": true, + "method_implemented_twice": true, + "parser_error": true, + "superclass_final": true, + "unknown_types": true, + "xml_consistency": true + } + } \ No newline at end of file diff --git a/.github/workflows/ABAP_702.yaml b/.github/workflows/ABAP_702.yaml new file mode 100644 index 0000000..ad3327a --- /dev/null +++ b/.github/workflows/ABAP_702.yaml @@ -0,0 +1,23 @@ +name: ABAP_702 + +on: + push: + branches: [702] + +permissions: + contents: read + +jobs: + ABAP_702: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v3 + with: + ref: 702 + - uses: actions/setup-node@v3 + with: + node-version: 20 + - run: npm ci + - run: npm run init_downport + - run: npx abaplint .github/abaplint/abap_702.jsonc \ No newline at end of file diff --git a/.github/workflows/auto_downport.yaml b/.github/workflows/auto_downport.yaml new file mode 100644 index 0000000..a5b445c --- /dev/null +++ b/.github/workflows/auto_downport.yaml @@ -0,0 +1,40 @@ +name: auto_downport + +on: + push: + branches: [standard] + +jobs: + auto_downport: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' + + - run: npm ci + - run: npm run init_downport + - run: npm run downport + - run: npm run cleanup_downport + + - name: Commit Changes + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git add . + git commit -m "Downport changes" + + - name: Switch to Branch 702 + run: git checkout -b 702 + + - name: Push Changes + uses: ad-m/github-push-action@v0.6.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: 702 + force: true \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7d74cbe --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +downport +node_modules +output \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..affe01f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,112 @@ +{ + "name": "abap2ui5-samples", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "abap2ui5-samples", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "npm-check-updates": "^17.1.13" + }, + "devDependencies": { + "@abaplint/cli": "^2.113.86", + "@abaplint/database-sqlite": "^2.10.20", + "@abaplint/runtime": "^2.10.23", + "@abaplint/transpiler-cli": "^2.10.23" + } + }, + "node_modules/@abaplint/cli": { + "version": "2.113.105", + "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.113.105.tgz", + "integrity": "sha512-pXALjWSnb4W+Qj3BVeo2jiSXXwTK/peQlgoZx23YA2SC8ZCQ/7kAD8H3LrIy+IMnV9m5wsp8Lpb2OA8LKhDA2A==", + "dev": true, + "license": "MIT", + "bin": { + "abaplint": "abaplint" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/larshp" + } + }, + "node_modules/@abaplint/database-sqlite": { + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/@abaplint/database-sqlite/-/database-sqlite-2.10.24.tgz", + "integrity": "sha512-Ra6sMIOLjDwdSQ8HKHnninvBhY305L1QEemATPq+TZYV1kwUwSFZ/dkj+Sc0Cx3uuGL2s0f3VqJrM/fJGZzaag==", + "dev": true, + "license": "MIT", + "dependencies": { + "sql.js": "^1.11.0" + } + }, + "node_modules/@abaplint/runtime": { + "version": "2.10.26", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.26.tgz", + "integrity": "sha512-hO/wsMOOQegPE1KLW7vx2XyYpq3bObNojNxf5mwKxUrxrZjEWdZCq7Ygnj1fJLeOqhqInGzGyzqo42l530wZFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "temporal-polyfill": "^0.2.5" + }, + "funding": { + "url": "https://github.com/sponsors/larshp" + } + }, + "node_modules/@abaplint/transpiler-cli": { + "version": "2.10.26", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.26.tgz", + "integrity": "sha512-7vp5zvWdFHnwaIo31whOjJNCdc++Oo50WlfcE9He8JgcK+PuibTJADJBM36wv8bCK17ghQduVJgRDoek5swl0g==", + "dev": true, + "license": "MIT", + "bin": { + "abap_transpile": "abap_transpile" + }, + "funding": { + "url": "https://github.com/sponsors/larshp" + } + }, + "node_modules/npm-check-updates": { + "version": "17.1.15", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-17.1.15.tgz", + "integrity": "sha512-miATvKu5rjec/1wxc5TGDjpsucgtCHwRVZorZpDkS6NzdWXfnUWlN4abZddWb7XSijAuBNzzYglIdTm9SbgMVg==", + "license": "Apache-2.0", + "bin": { + "ncu": "build/cli.js", + "npm-check-updates": "build/cli.js" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0", + "npm": ">=8.12.1" + } + }, + "node_modules/sql.js": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/sql.js/-/sql.js-1.12.0.tgz", + "integrity": "sha512-Bi+43yMx/tUFZVYD4AUscmdL6NHn3gYQ+CM+YheFWLftOmrEC/Mz6Yh7E96Y2WDHYz3COSqT+LP6Z79zgrwJlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/temporal-polyfill": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-0.2.5.tgz", + "integrity": "sha512-ye47xp8Cb0nDguAhrrDS1JT1SzwEV9e26sSsrWzVu+yPZ7LzceEcH0i2gci9jWfOfSCCgM3Qv5nOYShVUUFUXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "temporal-spec": "^0.2.4" + } + }, + "node_modules/temporal-spec": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-0.2.4.tgz", + "integrity": "sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..19bc801 --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "abap2ui5-samples", + "private": true, + "version": "1.0.0", + "description": "abap2UI5-local", + "scripts": { + "syfixes": "find . -type f -name '*.abap' -exec sed -i -e 's/ RAISE EXCEPTION TYPE cx_sy_itab_line_not_found/ ASSERT 1 = 0/g' {} + ", + "downport": "abaplint --fix .github/abaplint/abap_702.jsonc && npm run syfixes && cp -f .github/abaplint/abap_702.jsonc abaplint.jsonc", + "init_downport": "git clone --branch 702 https://github.com/abap2UI5/abap2UI5 && cp -r abap2UI5/src src", + "cleanup_downport": "rm -rf abap2UI5 && rm -rf src/src" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/abap2UI5/samples.git" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/abap2UI5/samples.git" + }, + "homepage": "https://github.com/abap2UI5/samples#readme", + "devDependencies": { + "@abaplint/cli": "^2.113.86", + "@abaplint/database-sqlite": "^2.10.20", + "@abaplint/runtime": "^2.10.23", + "@abaplint/transpiler-cli": "^2.10.23" + }, + "dependencies": { + "npm-check-updates": "^17.1.13" + } + } \ No newline at end of file