Skip to content

Commit

Permalink
EA-3534 added poms, .gitignore etc. Also added record-api-definitions…
Browse files Browse the repository at this point in the history
… module. Using java 17 and spring boot 3
  • Loading branch information
SrishtiSingh-eu committed Aug 2, 2023
1 parent bb8310e commit 4608693
Show file tree
Hide file tree
Showing 6 changed files with 459 additions and 1 deletion.
112 changes: 112 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Common settings that generally should always be used with your language specific settings

# Auto detect text files and perform LF normalization
# https://www.davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
* text=auto

#
# The above will handle all files NOT found below
#

# Java sources
*.java text diff=java
*.gradle text diff=java
*.gradle.kts text diff=java

# Serialisation
*.json text
*.toml text
*.xml text
*.yaml text
*.yml text


# These files are text and should be normalized (Convert crlf => lf)
*.css text diff=css
*.df text
*.htm text diff=html
*.html text diff=html
*.js text
*.jsp text
*.jspf text
*.jspx text
*.properties text
*.tld text
*.tag text
*.tagx text

# Scripts
#*.bash text eol=lf
#*.fish text eol=lf
*.sh text eol=lf
# These are explicitly windows files and should use crlf
*.bat text eol=crlf
*.cmd text eol=crlf


# These files are binary and should be left untouched
# (binary is a macro for -text -diff)
*.class binary
*.dll binary
*.ear binary
*.jar binary
*.so binary
*.war binary
*.jks binary

# Documents
*.md text
*.csv text
*.tsv text
#*.tab text
*.txt text
*.sql text
#*.ps1 text
#*.bibtex text diff=bibtex
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
#*.tex text diff=tex
#*.adoc text
#*.textile text
#*.mustache text

# Graphics
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.tif binary
*.tiff binary
*.ico binary
# SVG treated as an asset (binary) by default.
*.svg text
# If you want to treat it as binary,
# use the following line instead.
# *.svg binary
*.eps binary

# Archives
*.7z binary
*.gz binary
*.tar binary
*.tgz binary
*.zip binary

# Text files where line endings should be preserved
*.patch -text

#
# Exclude files from exporting
#

.gitattributes export-ignore
.gitignore export-ignore
.gitkeep export-ignore
35 changes: 35 additions & 0 deletions .github/workflows/build_test_analyse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build, Run Tests and Sonar Analysis
on: push

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
# Shallow clones should be disabled for a better relevancy of analysis
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Cache SonarCloud packages
uses: actions/cache@v1
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build, run tests and analyse
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pcoverage -Dsonar.projectKey=europeana_record-api
env:
# Needed to get some information about the pull request, if any
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SonarCloud access token should be generated from https://sonarcloud.io/account/security/
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
37 changes: 37 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
target/
.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/

### VS Code ###
.vscode/

**/*.user.properties
**/*.jks

.DS_Store


#log files
**/*.log
27 changes: 26 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
# record-api
# Record API
New version (v3) of the Record API that is for the first time decoupled from Search API

## Build
To build (requires the [CoreLib](https://github.com/europeana/corelib) dependency):

Configure your maven settings: http://artifactory.eanadev.org/artifactory/webapp/mavensettings.html?1

```bash
$ git clone https://github.com/europeana/corelib.git
$ cd corelib
$ mvn clean install

$ git clone https://github.com/europeana/api2.git
$ cd api2
$ mvn clean install
```

## Deploy
To deploy your instance you can use the Docker files in `docker/compose` folder. This image contains Tomcat only.
However at the moment we do not have a Mongo database or Solr engine in Docker yet.

The addresses and login credentials of all these services are specified in the europeana.properties file located in the
/api2/api2-war/src/main/resources/ folder. For the moment you still need to fill in all the 'REMOVED' values (login
credentials for services that are not dockerized yet). **Make sure you never commit these changes!**
It's safer to place these login credentials in a europeana.user.properties file in the same folder because this file
is set to be ignored by git. All settings in the europeana.user.properties will override those in the europeana.properties.
Loading

0 comments on commit 4608693

Please sign in to comment.