Skip to content

Commit acfcc89

Browse files
first commit
0 parents  commit acfcc89

File tree

60 files changed

+4701
-0
lines changed

Some content is hidden

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

60 files changed

+4701
-0
lines changed

.devcontainer/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Dev Container for uPortal Messaging
2+
3+
This devcontainer provides a complete development environment for the uPortal Messaging Spring Boot application.
4+
5+
## What's Included
6+
7+
- **Java 8** (OpenJDK 8) - Required for Spring Boot 1.5.9
8+
- **Maven 3.9.6** - Build tool
9+
- **VS Code Java Extensions** - Full Java development support including:
10+
- Java Language Support
11+
- Spring Boot Tools
12+
- Debugger
13+
- Test Runner
14+
- Maven support
15+
16+
## Getting Started
17+
18+
1. Open this project in VS Code
19+
2. When prompted, click "Reopen in Container" (or run command `Dev Containers: Reopen in Container`)
20+
3. Wait for the container to build and dependencies to install
21+
4. The application will automatically run `mvn clean install -DskipTests` after container creation
22+
23+
## Building and Running
24+
25+
### Build the project
26+
```bash
27+
mvn clean package
28+
```
29+
30+
### Run the application
31+
```bash
32+
mvn spring-boot:run
33+
```
34+
35+
The application will be available at http://localhost:8080
36+
37+
### Run tests
38+
```bash
39+
mvn test
40+
```
41+
42+
### Run integration tests
43+
```bash
44+
mvn verify
45+
```
46+
47+
## Port Forwarding
48+
49+
Port 8080 is automatically forwarded from the container to your local machine.
50+
51+
## Debugging
52+
53+
Use VS Code's built-in Java debugger:
54+
1. Set breakpoints in your code
55+
2. Press F5 or use the Debug view
56+
3. Select "Spring Boot" launch configuration

.devcontainer/devcontainer.json

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"name": "uPortal Messaging - Java 8 Spring Boot",
3+
"image": "mcr.microsoft.com/devcontainers/java:1-8-bullseye",
4+
5+
"features": {
6+
"ghcr.io/devcontainers/features/java:1": {
7+
"version": "8",
8+
"jdkDistro": "ms",
9+
"installMaven": "true",
10+
"mavenVersion": "3.9.6",
11+
"installGradle": "false"
12+
},
13+
"ghcr.io/devcontainers/features/git:1": {
14+
"version": "latest"
15+
}
16+
},
17+
18+
"customizations": {
19+
"vscode": {
20+
"extensions": [
21+
"ms-vscode.vscode-node-azure-pack",
22+
"ms-azuretools.vscode-azureresourcegroups",
23+
"ms-azuretools.vscode-bicep",
24+
"hashicorp.terraform",
25+
"ms-playwright.playwright",
26+
"ms-kubernetes-tools.vscode-kubernetes-tools",
27+
"redhat.vscode-yaml",
28+
"vscjava.vscode-java-pack",
29+
"vscjava.vscode-spring-boot-dashboard",
30+
"pivotal.vscode-spring-boot",
31+
"redhat.java",
32+
"vscjava.vscode-java-debug",
33+
"vscjava.vscode-java-test",
34+
"vscjava.vscode-maven",
35+
"vscjava.migrate-java-to-azure",
36+
"redhat.vscode-xml"
37+
],
38+
"settings": {
39+
"java.configuration.runtimes": [
40+
{
41+
"name": "JavaSE-1.8",
42+
"path": "/usr/local/sdkman/candidates/java/current",
43+
"default": true
44+
}
45+
],
46+
"java.jdt.ls.java.home": "/usr/local/sdkman/candidates/java/current",
47+
"maven.executable.path": "/usr/local/sdkman/candidates/maven/current/bin/mvn"
48+
}
49+
}
50+
},
51+
52+
"forwardPorts": [8080],
53+
"portsAttributes": {
54+
"8080": {
55+
"label": "Application",
56+
"onAutoForward": "notify"
57+
}
58+
},
59+
60+
"postCreateCommand": "bash .devcontainer/post-create.sh",
61+
62+
"remoteUser": "vscode"
63+
}

.devcontainer/post-create.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "Running post-create setup..."
5+
6+
# Install Azure CLI
7+
echo "Installing Azure CLI..."
8+
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
9+
10+
# Install kubectl
11+
echo "Installing kubectl..."
12+
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
13+
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
14+
rm kubectl
15+
16+
# Install Helm
17+
echo "Installing Helm..."
18+
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
19+
20+
# Verify installations
21+
echo "Verifying installations..."
22+
az version
23+
kubectl version --client
24+
helm version
25+
26+
# Run Maven build
27+
echo "Building project with Maven..."
28+
# Remove target directory to avoid file locking issues
29+
rm -rf target
30+
mvn compile -DskipTests
31+
32+
echo "Post-create setup complete!"

.devcontainer/verify-setup.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/bin/bash
2+
set -e
3+
4+
echo "==================================="
5+
echo "Verifying Dev Container Setup"
6+
echo "==================================="
7+
echo ""
8+
9+
echo "✓ Checking Java version..."
10+
java -version
11+
12+
echo ""
13+
echo "✓ Checking Maven version..."
14+
mvn -version
15+
16+
echo ""
17+
echo "✓ Checking Azure CLI..."
18+
az version --output table
19+
20+
echo ""
21+
echo "✓ Checking kubectl..."
22+
kubectl version --client
23+
24+
echo ""
25+
echo "✓ Checking Helm..."
26+
helm version
27+
28+
echo ""
29+
echo "✓ Checking Git..."
30+
git --version
31+
32+
echo ""
33+
echo "==================================="
34+
echo "All tools verified successfully! ✓"
35+
echo "==================================="

.editorconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
continuation_indent_size = 2
6+
end_of_line = lf
7+
indent_size = 2
8+
indent_style = space
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true

.github/CONTRIBUTING.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Contributing
2+
3+
## Code style
4+
5+
This project adopts [Google Style][].
6+
7+
Style checking is not automated, so this is kind of a best efforts thing.
8+
:shrug:
9+
10+
[Google Style]: https://github.com/google/styleguide

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{What changes? Why?}
2+
3+
4+
----
5+
Contributor License Agreement adherence:
6+
7+
<!-- Place an x in the checkbox for YES. -->
8+
9+
- [ ] This Contribution is under the terms of Individual [Contributor License Agreements][] (and also Corporate Contributor License Agreements to the extent applicable) appearing in the [Apereo CLA roster][].
10+
11+
[Apereo CLA roster]: http://licensing.apereo.org/completed-clas
12+
[Contributor License Agreements]: https://www.apereo.org/licensing/agreements
13+
14+
----
15+
16+
[Definition of Done][]
17+
18+
<!-- Intended as a low-intrusion quick checklist reminder of Definition of Done.
19+
Routinely, take the opportunity to reflect and then tick off the did-the-right-thing-for items.
20+
Exceptionally, explain what's exceptional why.
21+
-->
22+
23+
- [ ] Documented
24+
- [ ] Fails gracefully
25+
- [ ] Tested
26+
- [ ] Secure
27+
- [ ] Adds no defects
28+
- [ ] Shippable. Path is clear to promote to production
29+
- [ ] Maintainable
30+
- [ ] Configurable
31+
- [ ] Readable
32+
- [ ] Validates and sanitizes user input
33+
- [ ] Styled (Google Style)
34+
35+
[Definition of Done]: https://goo.gl/4JG2Z5

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
.DS_Store
2+
.gradle/
3+
.vscode/
4+
bin/
5+
src/.DS_Store
6+
src/main/.DS_Store
7+
8+
# Compiled class file
9+
*.class
10+
11+
# Log file
12+
*.log
13+
/logs/
14+
15+
# BlueJ files
16+
*.ctxt
17+
18+
# eclipse files
19+
.project
20+
.settings
21+
.classpath
22+
23+
# Mobile Tools for Java (J2ME)
24+
.mtj.tmp/
25+
26+
# Package Files #A
27+
/target/
28+
*.jar
29+
*.war
30+
*.ear
31+
*.zip
32+
*.tar.gz
33+
*.rar
34+
35+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
36+
hs_err_pid*
37+
38+
build/

.travis.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
language: java
2+
jdk:
3+
- openjdk8
4+
- oraclejdk8
5+
script: mvn package
6+
7+
after_success:
8+
- mvn clean cobertura:cobertura org.eluder.coveralls:coveralls-maven-plugin:report

0 commit comments

Comments
 (0)