Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[team7][BE 우디, 비비] issue-tracker PR (1) #49

Open
wants to merge 162 commits into
base: team7
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
679570f
feat : initial commit
bibi6666667 Jun 7, 2021
20a9065
feat : 데이터베이스 연결 및 schema.sql 작성 #1
bibi6666667 Jun 8, 2021
8f5d2be
feat : schema.sql의 일부 테이블 수정 #1
bibi6666667 Jun 8, 2021
ad95a3c
feat : ER diagram 구현 #1
jihye-woo Jun 8, 2021
371f25d
feat : ERD의 각 테이블을 domain 객체로 맵핑 #3
bibi6666667 Jun 8, 2021
1727bf2
feat : response 래핑 클래스 ApiResponse 구현 #3
jihye-woo Jun 9, 2021
3dfb606
feat : IssueController 구현 및 API 매핑 #3
jihye-woo Jun 9, 2021
1237a19
feat : CommentController 구현 및 API 매핑 #3
jihye-woo Jun 9, 2021
ae535df
feat : MilestoneController 구현 및 API 매핑 #3
jihye-woo Jun 9, 2021
55fb4f2
feat : LabelController 구현 및 API 매핑 #3
jihye-woo Jun 9, 2021
b2e6549
feat : LabelController 구현 및 API 매핑 #3
jihye-woo Jun 9, 2021
3ae4fd6
feat : IssueRequest 커맨드 객체 구현 및 적용 #3
jihye-woo Jun 9, 2021
f76da04
feat : OAuth 구현을 위한 클래스 추가 #4
bibi6666667 Jun 9, 2021
88239d8
feat : Github OAuth 로 사용자 정보 받기 #4
bibi6666667 Jun 9, 2021
940a5ed
feat : jasypt 암호화 설정
jihye-woo Jun 9, 2021
ae4ab7d
feat : jasypt config에 pool size 설정 #4
jihye-woo Jun 10, 2021
2f7d5fa
feat : oauth 관련 properties 파일 수정 #4
jihye-woo Jun 10, 2021
b26d224
feat : logger 설정 및 properties 코드 정리 #4
jihye-woo Jun 10, 2021
a3fd4c0
feat : GitHub에 종속적인 클래스 이름 수정 #4
jihye-woo Jun 10, 2021
75b3fc8
feat : jjwt 의존성 추가 및 Jwt 생성 로직 구현 #4
jihye-woo Jun 10, 2021
4111a11
feat : User 클래스 수정 #4
jihye-woo Jun 10, 2021
8b212bd
feat : GitHub OAuth 구현 #4
jihye-woo Jun 10, 2021
5479c24
feat : GitHub OAuth 테스트 컨트롤러 구현 #4
jihye-woo Jun 10, 2021
8962a1f
feat : jwt토큰이 없을 때 발생할 Exception 생성 및 등록 #4
bibi6666667 Jun 10, 2021
c7832d3
feat : jwt토큰 검증에 필요한 클래스 생성 #4
bibi6666667 Jun 10, 2021
06fd41b
chore : jwt, response 패키지 생성 및 이동 #4
bibi6666667 Jun 10, 2021
c1e588a
feat : 로그인된 유저에게 jwt토큰 발행 #4
bibi6666667 Jun 10, 2021
ca4b62c
feat : Mock API 배포를 위한 스크립트 작성 #3
bibi6666667 Jun 11, 2021
3d736bc
chore : GithubLoginResponse -> GitHubUserResponse로 이름 변경 #3
bibi6666667 Jun 11, 2021
e4a96b2
chore : import한 Strings 클래스 변경 #3
bibi6666667 Jun 11, 2021
457b095
feat : API 응답을 위한 Response클래스 생성 #3
bibi6666667 Jun 11, 2021
9188b9b
chore : 필드의 오타 수정 #3
bibi6666667 Jun 11, 2021
ab124f1
feat : MockAPI사용을 위해 GET 요청의 반환값 적용 #3
bibi6666667 Jun 11, 2021
c525bc2
feat : MockAPI사용을 위해 GET 요청의 반환값 적용 by Woody #3
bibi6666667 Jun 11, 2021
d3b666a
feat : Issue 목록 조회 기능 추가 #4
jihye-woo Jun 14, 2021
c5409ee
feat : API 테스트를 위한 테스트 데이터 삽입 #3
bibi6666667 Jun 14, 2021
cdc3a4b
feat : @Id import 변경 및 @GeneratedValue 추가 #3
bibi6666667 Jun 14, 2021
d1fab00
refactor : User의 userId -> loginId로 필드명 변경 #3
bibi6666667 Jun 14, 2021
b6777f4
refactor : User의 userId -> loginId로 필드명 변경 #3
bibi6666667 Jun 14, 2021
9863504
feat : Issue클래스에 기본생성자, getter, toString() 생성 #3
bibi6666667 Jun 14, 2021
1cb7b19
chore : 코드 재정렬 #3
bibi6666667 Jun 14, 2021
f42a94d
feat : jjwt 의존성 변경 #7
jihye-woo Jun 15, 2021
c65074c
feat : jwt에 사용자 정보 추가 #7
jihye-woo Jun 15, 2021
8e676a4
feat : comment 관련 url, 인터셉터 등록 #7
jihye-woo Jun 15, 2021
3c02abe
chore : lombok 의존성 추가
jihye-woo Jun 15, 2021
994388b
refactor : lombok 적용
jihye-woo Jun 15, 2021
131fa08
feat : CommentRequest 유저 관련 필드 수정 #7
jihye-woo Jun 15, 2021
88217c7
feat : User 클래스 필드명 수정 #7
jihye-woo Jun 15, 2021
461358f
feat : Comment 서비스와 레포지토리 클래스 구현 #7
jihye-woo Jun 15, 2021
be45d1c
chore : 커스텀 배너 적용
jihye-woo Jun 15, 2021
71a6223
feat : Comment 수정하기 기능 구현 #7
jihye-woo Jun 16, 2021
013105e
feat : Comment 생성에 대한 HTTP 상태 코드 리턴 #7
jihye-woo Jun 16, 2021
dd2a923
feat : Comment 삭제 기능 구현 #7
jihye-woo Jun 16, 2021
2f8800d
feat : CommentReponse 구현 #7
jihye-woo Jun 16, 2021
9c4a3b7
feat : Label 생성하기 기능 구현 #8
jihye-woo Jun 16, 2021
ce352d1
feat : Label 조회하기 기능 구현 #8
jihye-woo Jun 16, 2021
76acbfa
feat : Label 수정하기 기능 구현 #8
jihye-woo Jun 16, 2021
ea738a6
feat : Milestone 생성하기 기능 구현 #9
jihye-woo Jun 16, 2021
3bd1ee4
feat : json 속성 설정 #9
jihye-woo Jun 17, 2021
bb28031
chore : validation 의존성 추가 #9
jihye-woo Jun 17, 2021
267b3ce
feat: 페이징 util 클래스 구현 #9
jihye-woo Jun 17, 2021
bd85e63
feat: Milestone 조회하기 기능 구현 #9
jihye-woo Jun 17, 2021
e23e5f3
feat : Milestone 수정하기 기능 구현 #9
jihye-woo Jun 17, 2021
f56b777
feat : Milestone 생성자 추가 #9
jihye-woo Jun 17, 2021
f9c0cbe
feat : Milestone 삭제하기 기능 구현 #9
jihye-woo Jun 17, 2021
ebbb62e
feat : Issue CRUD를 위한 메서드 수정 #3
bibi6666667 Jun 14, 2021
c203667
feat : ApiResponse가 매개변수 없이도 반환될 수 있도록 변경 #3
bibi6666667 Jun 14, 2021
eb4e45a
feat : userId의 타입을 String->Long으로 변경 #3
bibi6666667 Jun 14, 2021
2ab006d
feat : UserResponse의 필드명 userId -> loginId로 변경 #3
bibi6666667 Jun 15, 2021
414760a
feat : 찾는 이슈가 없을 때 발생시킬 예외 추가 #3
bibi6666667 Jun 15, 2021
cf6c6c6
feat : 엔티티 등록을 위한 기본생성자와 어노테이션 추가 #3
bibi6666667 Jun 15, 2021
fbe686c
feat : Repository 등록을 위한 어노테이션 추가 및 클래스 생성 #3
bibi6666667 Jun 15, 2021
683524c
feat : 각 객체를 Response객체로 변환하는 메서드 추가 #3
bibi6666667 Jun 15, 2021
da52f6c
feat : Issue에 User 1:1맵핑 및 getter, setter 추가 #3
bibi6666667 Jun 15, 2021
6bf0b5d
feat : IssueLabel 클래스 추가 #3
bibi6666667 Jun 15, 2021
f48cc75
feat : IssueRequest에 기본생성자, toString() 추가 #3
bibi6666667 Jun 15, 2021
eb155ea
chore : 불필요한 import 삭제 #3
bibi6666667 Jun 15, 2021
816fe28
feat : IssueService의 get, delete 메서드 기능구현 #3
bibi6666667 Jun 15, 2021
3df5439
feat : Label의 IssueLabel에 대한 1:N맵핑 추가 #3
bibi6666667 Jun 15, 2021
1090185
feat : Issue update 메소드 연결 #3
bibi6666667 Jun 15, 2021
dc141e2
feat : Issue update - title 구현 #3
bibi6666667 Jun 15, 2021
bb35162
feat : LabelService 클래스 추가 #3
bibi6666667 Jun 15, 2021
8df1a96
feat : Issue 삭제 시 관련 comment, assignee, label도 삭제되도록 CASCADE옵션 부여 #3
bibi6666667 Jun 15, 2021
1cf7e68
feat : Issue에 Assignee 리스트 추가를 위한 클래스 추가 #3
bibi6666667 Jun 16, 2021
9d92a71
feat : Issue의 Assignee 등 수정 기능 구현 #3
bibi6666667 Jun 16, 2021
5319cf4
feat : assignee 테스트 데이터 추가 #3
bibi6666667 Jun 16, 2021
babe165
chore : 미사용 메서드 삭제 #3
bibi6666667 Jun 16, 2021
09a2562
feat : IssueLabel 테스트용 데이터 삽입 #3
bibi6666667 Jun 17, 2021
cc8a89d
feat : Issue의 Label 수정 기능 구현 #3
bibi6666667 Jun 17, 2021
8078570
feat : Github OAuth Client 정보들을 환경변수로 치환
bibi6666667 Jun 17, 2021
483c58d
feat : UserResponse 정적 팩토리 메소드 생성 #3
jihye-woo Jun 17, 2021
025fc5c
feat : API - Issue의 Label 수정 기능 구현 완료 #3
bibi6666667 Jun 17, 2021
72de725
feat : Issue의 Label 수정을 위한 테스트 데이터 추가 #3
bibi6666667 Jun 17, 2021
856a2bf
feat : LabelResponse에 id 추가 #8
jihye-woo Jun 17, 2021
bfee4a9
feat : GitHub iOS 로그인을 위한 메서드 구현 #4
bibi6666667 Jun 18, 2021
bd9ddbe
feat : 요청을 받는 AssigneeRequest 클래스 생성 #4
bibi6666667 Jun 18, 2021
488f247
feat : Issue에 Comment List 맵핑 후 조회 기능 구현 #4
bibi6666667 Jun 18, 2021
d40ea9d
feat : comment 테스트용 데이터 추가 #4
bibi6666667 Jun 18, 2021
535c89e
refactor : access token 발급 메소드 중복 제거 #4
jihye-woo Jun 18, 2021
132766a
feat : 이슈 작성자 전체 목록 조회 #14
jihye-woo Jun 18, 2021
b9298bd
feat : Cors 설정 추가
jihye-woo Jun 18, 2021
6ee83ee
feat : jjwt-jackson 의존성 제거 #4
jihye-woo Jun 18, 2021
1426784
feat : UserResponse에 id 추가 #3
jihye-woo Jun 18, 2021
c491a53
chore : jjwt dependency 0.11.2 -> 0.10.8
bibi6666667 Jun 18, 2021
4dd6b50
refactor : jjwt dependency 에러 해결을 위한 메서드 직접 구현
bibi6666667 Jun 18, 2021
dd52a4d
fix : resolve JSON Deserialize issue!!
jihye-woo Jun 18, 2021
60db1e8
feat : Comment 생성 시 Comment 객체 리턴 #7
jihye-woo Jun 21, 2021
ed518df
feat : DB save 작업 후 반환 값 변경 #3
jihye-woo Jun 21, 2021
2cd26c5
feat : iOS 로그인을 위한 메서드 추가 #4
bibi6666667 Jun 21, 2021
5ae8ff2
feat : Issue 생성 메서드 수정 #3
bibi6666667 Jun 21, 2021
0d8889b
refactor : 생성자, getter, setter에 롬복 사용
bibi6666667 Jun 21, 2021
cd6859f
chore : 댓글 생성일자 JSON 반환 형식 지정 #3
bibi6666667 Jun 21, 2021
377a667
feat : milestone 수정과 삭제 시, 트랜젝션 처리 #9
jihye-woo Jun 21, 2021
661baa2
feat : Issue의 Assignee 수정 메서드 로직 변경 #3
bibi6666667 Jun 21, 2021
d663e1d
chore : aws 설정 파일 추가 #15
jihye-woo Jun 22, 2021
1fb3558
chore : aws 의존성 추가 #15
jihye-woo Jun 22, 2021
b4fd4b8
feat : S3Client 빈 생성 #15
jihye-woo Jun 22, 2021
a7c536d
feat : 이미지 업로드 관련 커스텀 예외 생성 #15
jihye-woo Jun 22, 2021
3bbbe49
feat : S3 파일 업로드 요청 처리 #15
jihye-woo Jun 22, 2021
d10305d
chore : Domain 중심으로 프로젝트 패키지 구조 개편
bibi6666667 Jun 22, 2021
a2e1cd4
temp : 웹 테스트를 위해 Jwt 유효성 검사를 일시적으로 중단
jihye-woo Jun 22, 2021
18fbf7d
feat : 작성자, 담당자 전체 조회 기능 구현 #3
jihye-woo Jun 22, 2021
ccea8ae
feat : 라벨 필터링 환경설정 및 메서드 추가 #14
bibi6666667 Jun 23, 2021
a990591
feat : 라벨 필터링 테스트 설정 및 메서드 추가 #14
bibi6666667 Jun 23, 2021
3852944
delete : LabelRepositorySupportTest.java 삭제 #14
bibi6666667 Jun 23, 2021
29e8ba8
feat : 필터링 기능 구현을 위해 IssueRepositorySupport 생성 #14
bibi6666667 Jun 23, 2021
9567c4b
feat : Issue 필터링 기능 구현 #14
bibi6666667 Jun 23, 2021
b72e511
feat : Issue 필터링 기능 구현을 위한 테스트 데이터 추가 #14
bibi6666667 Jun 23, 2021
f079cf1
refactor : 모든 Issue 필터링 기능에 querydsl 적용 #14
jihye-woo Jun 24, 2021
2950ddb
refactor : Issue ➡️ IssueResponse 래핑 코드 수정 #14
jihye-woo Jun 24, 2021
e3fe26a
feat : 이슈 필터 클래스 IssueFilter 구현 #14
jihye-woo Jun 24, 2021
9c41cac
feat : multiple filtering issue #14
jihye-woo Jun 24, 2021
ccdd1f4
feat : 이슈 멀티 필터링 기능 구현 #14
jihye-woo Jun 25, 2021
2017a9f
feat : 수정, 삭제 요청 시 사용자 권한 확인 #3
jihye-woo Jun 25, 2021
67252c1
fix : fix typo in property key name #18
jihye-woo Jul 7, 2021
2f5ca7c
fix : 이슈 조회시 발생하는 NPE 해결 #18
jihye-woo Jul 7, 2021
eb6665a
fix : activate BearAuthInterceptor #18
jihye-woo Jul 7, 2021
b3d1df2
refactor : queryDSL 플러그인 삭제 #19
jihye-woo Jul 26, 2021
b9cdcd4
refactor : ACCESS_TOKEN_TYPE 상수 필드 삭제 #19
jihye-woo Jul 26, 2021
4d592a8
refactor : 토큰 타입 확인 로직 수정 #19
jihye-woo Jul 26, 2021
3bb19e7
refactor : 토큰 타입 정보가 없을 경우 Optional 처리 #19
jihye-woo Jul 26, 2021
565604f
refactor : "user" 문자열 상수처리 #19
jihye-woo Jul 26, 2021
b94c40d
refactor : BearerAuthInterceptor::getDefaultUser 삭제 #19
jihye-woo Jul 26, 2021
392fbb2
fix : JwtProvider 생성자 파라미터 오타 수정 #19
jihye-woo Jul 26, 2021
c7f0de9
chore : 로깅 레벨 변경 #19
jihye-woo Jul 26, 2021
7b9d908
refactor : LoginController 생성자 주입 대상 변경 #19
jihye-woo Jul 26, 2021
113058d
refactor : 로그인 과정의 중복 로직 제거 #19
bibi6666667 Jul 29, 2021
c87386a
refactor : 타입 안정성을 위한 UserPlatform enum 생성 #19
bibi6666667 Jul 29, 2021
1a3c132
refactor : GitHubUser의 변수 login -> loginId로 수정 #19
bibi6666667 Jul 29, 2021
cb1e274
chore : 가독성을 위한 공백 추가 #19
bibi6666667 Jul 29, 2021
2bc4fc9
chore : 변수명을 CamelCase로 변경 #19
bibi6666667 Jul 29, 2021
0de3063
chore : 주석 코드 제거 및 불필요한 코드 제거 #19
bibi6666667 Jul 29, 2021
f661334
chore : 응답 데이터로 엔티티 대신 DTO클래스로 수정 #19
bibi6666667 Jul 29, 2021
a98ecdb
refactor : 필드 값 주입 방식을 생성자 주입으로 변경 #19
bibi6666667 Jul 29, 2021
6952d78
feat : Label생성자 추가
bibi6666667 Aug 2, 2021
ddeb514
refactor : 클래스명 변경 및 메서드 분리
bibi6666667 Aug 2, 2021
d76a2c0
feat : Jwt인증에 필요한 래퍼 클래스 추가
bibi6666667 Aug 2, 2021
3c6f028
refactor : CommentResponse의 create() 메서드명을 from()로 수정
bibi6666667 Aug 2, 2021
5deec25
feat : Issue의 변수명 status를 isOpen으로 수정
bibi6666667 Aug 2, 2021
9825359
refactor : IssueRepositorySupport의 변수명 및 접근제어자 수정
bibi6666667 Aug 2, 2021
78bc1f8
chore : 코드 재정렬
bibi6666667 Aug 2, 2021
ff17118
Merge pull request #20 from bibi6666667/be/review-working
bibi6666667 Aug 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 96 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 37 additions & 0 deletions BE/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

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

### VS Code ###
.vscode/
64 changes: 64 additions & 0 deletions BE/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
plugins {
id 'org.springframework.boot' version '2.5.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

되도록이면 0버전은 비추합니다.
보통 문제가 있는 경우가 많거든요.

id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}

group = 'com.codesquad'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
mavenCentral()
}

dependencies {

// spring boot basic
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

// data source
runtimeOnly 'mysql:mysql-connector-java'

// jjwt
implementation 'io.jsonwebtoken:jjwt-api:0.10.8'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.10.8'

// jasypt
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 jasypt군요.


// lombok
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'

// validation
implementation 'org.springframework.boot:spring-boot-starter-validation'

// aws
implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.1')
implementation 'com.amazonaws:aws-java-sdk-s3'

// querydsl
implementation 'com.querydsl:querydsl-core'
implementation 'com.querydsl:querydsl-jpa'

annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정
annotationProcessor 'jakarta.persistence:jakarta.persistence-api'
annotationProcessor 'jakarta.annotation:jakarta.annotation-api'

// h2
runtimeOnly 'com.h2database:h2'

}

clean {
delete file('src/main/generated') // 인텔리제이 Annotation processor 생성물 생성위치
}

test {
useJUnitPlatform()
}

4 changes: 4 additions & 0 deletions BE/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
./gradlew build jar -x test
aws s3 cp build/libs/issue-tracker-0.0.1-SNAPSHOT.jar s3://codesquad-issue-tracker-team7/issue-tracker.jar
echo "Done!"
Binary file added BE/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
5 changes: 5 additions & 0 deletions BE/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
185 changes: 185 additions & 0 deletions BE/gradlew
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
#!/usr/bin/env sh

#
# Copyright 2015 the original author or authors.
#
# Licensed 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
#
# https://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.
#

##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"

warn () {
echo "$*"
}

die () {
echo
echo "$*"
echo
exit 1
}

# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac

CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar


# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi

# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`

JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option

if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

exec "$JAVACMD" "$@"
Loading