Skip to content

Commit e286099

Browse files
Initial commit
1 parent ccca6ab commit e286099

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1438
-120
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,17 @@ cdk.out
2525
**/data/**.csv
2626

2727
.env
28+
29+
# Eclipse
30+
.classpath
31+
.project
32+
.settings/
33+
bin/
34+
35+
# Mac
36+
.DS_Store
37+
38+
# Maven
39+
target/
40+
41+
**/dependency-reduced-pom.xml

README.md

Lines changed: 229 additions & 120 deletions
Large diffs are not rendered by default.

assets/images/Architecture.png

202 KB
Loading
729 KB
Loading
Loading
Loading
96.6 KB
Loading
Loading
Loading
326 KB
Loading
173 KB
Loading
51.5 KB
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
AWSTemplateFormatVersion: 2010-09-09
2+
Description: CloudFormation template that deploys a permission set with inline policy in the IAM Identity Center Instance required for SAP ABAP Assistant to run.
3+
Parameters:
4+
InstanceArn:
5+
Type: String
6+
Description: The ARN of the IAM Identity Center instance where the permission set should be created. Pattern - arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}
7+
MinLength: 10
8+
MaxLength: 1224
9+
ConstraintDescription: The IAM Identity Center Instance ARN must be provided.
10+
PermissionSetName:
11+
Type: String
12+
Default: ABAPAssistantAccess
13+
Description: The name of the permission set to be created.
14+
MinLength: 1
15+
MaxLength: 32
16+
ConstraintDescription: The Permission Set name must be provided.
17+
SessionDuration:
18+
Type: String
19+
Default: PT8H
20+
Description: The length of time that the application user sessions are valid for in the ISO-8601 standard.
21+
MinLength: 1
22+
MaxLength: 100
23+
ConstraintDescription: The Session Duration must be provided.
24+
Resources:
25+
PermissionSet:
26+
Type: AWS::SSO::PermissionSet
27+
Properties:
28+
InstanceArn: !Ref InstanceArn
29+
Name: !Ref PermissionSetName
30+
Description: Permission set for SAP ABAP Assistant
31+
SessionDuration: !Ref SessionDuration
32+
InlinePolicy:
33+
Version: '2012-10-17'
34+
Statement:
35+
- Sid: AllowInvokeModel
36+
Effect: Allow
37+
Action: bedrock:InvokeModel
38+
Resource:
39+
- arn:aws:bedrock:*::foundation-model/anthropic.claude-v2
40+
- arn:aws:bedrock:*::foundation-model/anthropic.claude-v2:1
41+
- arn:aws:bedrock:*::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0
42+
- arn:aws:bedrock:*::foundation-model/anthropic.claude-3-haiku-20240307-v1:0
43+
- arn:aws:bedrock:*::foundation-model/ai21.j2-mid-v1
44+
- arn:aws:bedrock:*::foundation-model/ai21.j2-ultra-v1
45+
Tags:
46+
- Key: ApplicationName
47+
Value: SAP ABAP Assistant
48+
Outputs:
49+
PermissionSetArn:
50+
Description: The ARN of the created permission set
51+
Value: !Ref PermissionSet
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bin.includes = feature.xml
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<feature
3+
id="com.demo.abap_assistant_feature"
4+
label="ABAP Assistant"
5+
version="1.0.17.qualifier"
6+
provider-name="DEMO">
7+
8+
<description>
9+
ABAP assistant is an Eclipse plugin for ABAP using Amazon
10+
Bedrock. The Plugin can generate ABAP code and ABAP documentation.
11+
</description>
12+
13+
<copyright url="http://www.example.com/copyright">
14+
[Enter Copyright Description here.]
15+
</copyright>
16+
17+
<license url="">
18+
MIT No Attribution
19+
20+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
21+
22+
Permission is hereby granted, free of charge, to any person obtaining a copy of this
23+
software and associated documentation files (the &quot;Software&quot;), to deal in the Software
24+
without restriction, including without limitation the rights to use, copy, modify,
25+
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
26+
permit persons to whom the Software is furnished to do so.
27+
28+
THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
29+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
30+
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
31+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
32+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
33+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34+
</license>
35+
36+
<plugin
37+
id="com.demo.abap_assistant_plugin"
38+
download-size="0"
39+
install-size="0"
40+
version="0.0.0"
41+
unpack="false"/>
42+
43+
</feature>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
<artifactId>com.demo.abap_assistant_feature</artifactId>
4+
<packaging>eclipse-feature</packaging>
5+
<parent>
6+
<groupId>ABAP_Assistant</groupId>
7+
<artifactId>com.demo.abap_assistant_plugin.releng</artifactId>
8+
<version>1.0.0-SNAPSHOT</version>
9+
<relativePath>../com.demo.abap_assistant_releng</relativePath>
10+
</parent>
11+
<version>1.0.17-SNAPSHOT</version>
12+
</project>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<site>
3+
<feature url="features/com.demo.abap_assistant_feature_1.0.17.qualifier.jar" id="com.demo.abap_assistant_feature" version="1.0.17.qualifier">
4+
<category name="ABAP_Assistant_category"/>
5+
</feature>
6+
<category-def name="ABAP_Assistant_category" label="ABAP Assistant"/>
7+
</site>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
<artifactId>com.demo.abap_assistant_p2</artifactId>
4+
<packaging>eclipse-repository</packaging>
5+
<parent>
6+
<groupId>ABAP_Assistant</groupId>
7+
<artifactId>com.demo.abap_assistant_plugin.releng</artifactId>
8+
<version>1.0.0-SNAPSHOT</version>
9+
<relativePath>../com.demo.abap_assistant_releng</relativePath>
10+
</parent>
11+
</project>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-Name: ABAP_Assistant_plugin
4+
Bundle-SymbolicName: com.demo.abap_assistant_plugin;singleton:=true
5+
Bundle-Version: 1.0.17.qualifier
6+
Require-Bundle: org.eclipse.ui,
7+
org.eclipse.ui.workbench.texteditor;bundle-version="3.17.100",
8+
org.eclipse.jface.text;bundle-version="3.24.100",
9+
org.eclipse.equinox.security;bundle-version="1.4.0",
10+
org.eclipse.ui.console;bundle-version="3.13.0",
11+
org.eclipse.core.runtime;bundle-version="3.29.0"
12+
Automatic-Module-Name: com.demo.abap.assistant.plugin
13+
Bundle-ClassPath: .,
14+
target/dependency/annotations-2.25.60.jar,
15+
target/dependency/apache-client-2.25.60.jar,
16+
target/dependency/auth-2.25.60.jar,
17+
target/dependency/aws-core-2.25.60.jar,
18+
target/dependency/aws-json-protocol-2.25.60.jar,
19+
target/dependency/bedrockruntime-2.25.60.jar,
20+
target/dependency/checksums-2.25.60.jar,
21+
target/dependency/checksums-spi-2.25.60.jar,
22+
target/dependency/commons-codec-1.15.jar,
23+
target/dependency/commons-logging-1.2.jar,
24+
target/dependency/endpoints-spi-2.25.60.jar,
25+
target/dependency/eventstream-1.0.1.jar,
26+
target/dependency/http-auth-2.25.60.jar,
27+
target/dependency/http-auth-aws-2.25.60.jar,
28+
target/dependency/http-auth-spi-2.25.60.jar,
29+
target/dependency/httpclient-4.5.13.jar,
30+
target/dependency/http-client-spi-2.25.60.jar,
31+
target/dependency/httpcore-4.4.13.jar,
32+
target/dependency/identity-spi-2.25.60.jar,
33+
target/dependency/json-20231013.jar,
34+
target/dependency/json-utils-2.25.60.jar,
35+
target/dependency/metrics-spi-2.25.60.jar,
36+
target/dependency/netty-buffer-4.1.108.Final.jar,
37+
target/dependency/netty-codec-4.1.108.Final.jar,
38+
target/dependency/netty-codec-http2-4.1.108.Final.jar,
39+
target/dependency/netty-codec-http-4.1.108.Final.jar,
40+
target/dependency/netty-common-4.1.108.Final.jar,
41+
target/dependency/netty-handler-4.1.108.Final.jar,
42+
target/dependency/netty-nio-client-2.25.60.jar,
43+
target/dependency/netty-resolver-4.1.108.Final.jar,
44+
target/dependency/netty-transport-4.1.108.Final.jar,
45+
target/dependency/netty-transport-classes-epoll-4.1.108.Final.jar,
46+
target/dependency/netty-transport-native-unix-common-4.1.108.Final.jar,
47+
target/dependency/profiles-2.25.60.jar,
48+
target/dependency/protocol-core-2.25.60.jar,
49+
target/dependency/reactive-streams-1.0.4.jar,
50+
target/dependency/regions-2.25.60.jar,
51+
target/dependency/sdk-core-2.25.60.jar,
52+
target/dependency/slf4j-api-1.7.30.jar,
53+
target/dependency/sso-2.25.60.jar,
54+
target/dependency/ssooidc-2.25.60.jar,
55+
target/dependency/third-party-jackson-core-2.25.60.jar,
56+
target/dependency/utils-2.25.60.jar
57+
Bundle-RequiredExecutionEnvironment: JavaSE-17
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
source.. = src/
2+
output.. = bin/
3+
bin.includes = plugin.xml,\
4+
META-INF/,\
5+
.,\
6+
target/dependency/annotations-2.25.60.jar,\
7+
target/dependency/apache-client-2.25.60.jar,\
8+
target/dependency/auth-2.25.60.jar,\
9+
target/dependency/aws-core-2.25.60.jar,\
10+
target/dependency/aws-json-protocol-2.25.60.jar,\
11+
target/dependency/bedrockruntime-2.25.60.jar,\
12+
target/dependency/checksums-2.25.60.jar,\
13+
target/dependency/checksums-spi-2.25.60.jar,\
14+
target/dependency/commons-codec-1.15.jar,\
15+
target/dependency/commons-logging-1.2.jar,\
16+
target/dependency/endpoints-spi-2.25.60.jar,\
17+
target/dependency/eventstream-1.0.1.jar,\
18+
target/dependency/http-auth-2.25.60.jar,\
19+
target/dependency/http-auth-aws-2.25.60.jar,\
20+
target/dependency/http-auth-spi-2.25.60.jar,\
21+
target/dependency/httpclient-4.5.13.jar,\
22+
target/dependency/http-client-spi-2.25.60.jar,\
23+
target/dependency/httpcore-4.4.13.jar,\
24+
target/dependency/identity-spi-2.25.60.jar,\
25+
target/dependency/json-20231013.jar,\
26+
target/dependency/json-utils-2.25.60.jar,\
27+
target/dependency/metrics-spi-2.25.60.jar,\
28+
target/dependency/netty-buffer-4.1.108.Final.jar,\
29+
target/dependency/netty-codec-4.1.108.Final.jar,\
30+
target/dependency/netty-codec-http2-4.1.108.Final.jar,\
31+
target/dependency/netty-codec-http-4.1.108.Final.jar,\
32+
target/dependency/netty-common-4.1.108.Final.jar,\
33+
target/dependency/netty-handler-4.1.108.Final.jar,\
34+
target/dependency/netty-nio-client-2.25.60.jar,\
35+
target/dependency/netty-resolver-4.1.108.Final.jar,\
36+
target/dependency/netty-transport-4.1.108.Final.jar,\
37+
target/dependency/netty-transport-classes-epoll-4.1.108.Final.jar,\
38+
target/dependency/netty-transport-native-unix-common-4.1.108.Final.jar,\
39+
target/dependency/profiles-2.25.60.jar,\
40+
target/dependency/protocol-core-2.25.60.jar,\
41+
target/dependency/reactive-streams-1.0.4.jar,\
42+
target/dependency/regions-2.25.60.jar,\
43+
target/dependency/sdk-core-2.25.60.jar,\
44+
target/dependency/slf4j-api-1.7.30.jar,\
45+
target/dependency/sso-2.25.60.jar,\
46+
target/dependency/ssooidc-2.25.60.jar,\
47+
target/dependency/third-party-jackson-core-2.25.60.jar,\
48+
target/dependency/utils-2.25.60.jar
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<?eclipse version="3.4"?>
3+
<plugin>
4+
5+
<extension
6+
point="org.eclipse.ui.commands">
7+
<category
8+
id="com.demo.abap_assistant.plugin.commands.category"
9+
name="ABAP Assistant Category">
10+
</category>
11+
<command
12+
categoryId="com.demo.abap_assistant.plugin.commands.category"
13+
name="ABAP Code Assistant"
14+
id="com.demo.abap_assistant.plugin.commands.abapCodeCommand">
15+
</command>
16+
<command
17+
categoryId="com.demo.abap_assistant.plugin.commands.category"
18+
id="com.demo.abap_assistant.plugin.commands.abapDocCommand"
19+
name="ABAP Documentation Assistant">
20+
</command>
21+
</extension>
22+
<extension
23+
point="org.eclipse.ui.handlers">
24+
<handler
25+
class="com.demo.abap_assistant_plugin.handlers.ABAPCodeHandler"
26+
commandId="com.demo.abap_assistant.plugin.commands.abapCodeCommand">
27+
</handler>
28+
<handler
29+
class="com.demo.abap_assistant_plugin.handlers.ABAPDocumentationHandler"
30+
commandId="com.demo.abap_assistant.plugin.commands.abapDocCommand">
31+
</handler>
32+
</extension>
33+
<extension
34+
point="org.eclipse.ui.bindings">
35+
<key
36+
commandId="com.demo.abap_assistant.plugin.commands.abapCodeCommand"
37+
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
38+
contextId="org.eclipse.ui.contexts.window"
39+
sequence="M1+M2+7">
40+
</key>
41+
<key
42+
commandId="com.demo.abap_assistant.plugin.commands.abapDocCommand"
43+
contextId="org.eclipse.ui.contexts.window"
44+
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
45+
sequence="M1+M2+8">
46+
</key>
47+
</extension>
48+
<extension
49+
point="org.eclipse.ui.menus">
50+
<menuContribution
51+
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
52+
<menu
53+
id="com.demo.abap_assistant.plugin.menus.sampleMenu"
54+
label="Ask Bedrock"
55+
mnemonic="M">
56+
<command
57+
commandId="com.demo.abap_assistant.plugin.commands.abapCodeCommand"
58+
id="com.demo.abap_assistant.plugin.menus.abapCodeCommand"
59+
mnemonic="S">
60+
</command>
61+
<command
62+
commandId="com.demo.abap_assistant.plugin.commands.abapDocCommand"
63+
id="com.demo.abap_assistant.plugin.menus.abapDocCommand"
64+
style="push">
65+
</command>
66+
</menu>
67+
</menuContribution>
68+
<menuContribution
69+
allPopups="false"
70+
locationURI="menu:com.demo.abap_assistant.plugin.commands.abapCodeCommand">
71+
<command
72+
commandId="com.demo.abap_assistant.plugin.commands.abapCodeCommand"
73+
style="push">
74+
</command>
75+
<command
76+
commandId="com.demo.abap_assistant.plugin.commands.abapDocCommand"
77+
style="push">
78+
</command>
79+
</menuContribution>
80+
</extension>
81+
<extension
82+
point="org.eclipse.ui.preferencePages">
83+
<page
84+
class="com.demo.abap_assistant_plugin.preferences.ABAPAssistantPreferences"
85+
id="com.demo.abap_assistant.plugin.page"
86+
name="SAP ABAP Assistant">
87+
</page>
88+
</extension>
89+
90+
</plugin>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<modelVersion>4.0.0</modelVersion>
3+
<artifactId>com.demo.abap_assistant_plugin</artifactId>
4+
<packaging>eclipse-plugin</packaging>
5+
6+
<parent>
7+
<groupId>ABAP_Assistant</groupId>
8+
<artifactId>com.demo.abap_assistant_plugin.releng</artifactId>
9+
<version>1.0.0-SNAPSHOT</version>
10+
<relativePath>../com.demo.abap_assistant_releng</relativePath>
11+
</parent>
12+
<version>1.0.17-SNAPSHOT</version>
13+
</project>

0 commit comments

Comments
 (0)