Skip to content
Open

Ibra #18

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
7bcfd07
:white_check_mark: bug id sign/decline contract corrected
Sep 26, 2017
3262b30
:white_check_mark: bug id sign/decline contract corrected
Sep 26, 2017
469ddc6
Fix redirect to login if user is logged out
Sep 26, 2017
718dee1
correcting bugs
Sep 26, 2017
32793b1
Removed the .idea folder
Sep 26, 2017
59e9741
Removed SXP File
Sep 26, 2017
f20a261
minimal .gitignore
Sep 26, 2017
e38ebb2
fixing error
Sep 27, 2017
3d8f722
Merge pull request #2 from GiInfo/httptunnel_error
GiInfo Sep 27, 2017
4136f84
after correcting compiling error. missing class error appear
Sep 27, 2017
7c9cd70
Merge pull request #3 from GiInfo/missing_lib
GiInfo Sep 27, 2017
68b688d
ignoring 4 tests that do not impact running. should be corrected in t…
Sep 28, 2017
d12efda
ignoring 4 tests that do not impact running. should be corrected in t…
Sep 28, 2017
59d23b1
ignoring 4 tests that do not impact running. should be corrected in t…
Sep 28, 2017
b466122
ignoring 4 tests that do not impact running. should be corrected in t…
Sep 28, 2017
430654c
ignoring 4 tests that do not impact running. should be corrected in t…
Sep 28, 2017
8978fdf
Merge pull request #4 from GiInfo/ignoring_failing_test_for_jenkins
GiInfo Sep 28, 2017
5a25870
correcting isuserconnected and using sessionstorage. Adding partiesWi…
Nov 8, 2017
34a9f2c
update header contracts and color a different state of contract
Nov 8, 2017
1e55f77
Merge pull request #5 from GiInfo/traceWishes_and_isUserConnected
massinissaYousfi Nov 8, 2017
6d63156
Merge branch 'master' into massi
TiagoCortinhal Nov 8, 2017
73da50a
Merge pull request #6 from GiInfo/massi
TiagoCortinhal Nov 8, 2017
92dd0de
Melani commit
Nov 8, 2017
c4060fe
Update Corrige
Nov 8, 2017
8a76e9b
Try searching parties
Mimi-Siku Nov 12, 2017
126c5b2
Avant Fusion Travail Melanie avec la mienne
Nov 12, 2017
61a0863
better exchanges clauses
Mimi-Siku Nov 12, 2017
d378363
avant step2
Nov 12, 2017
630361d
adding error messages when submitting
Mimi-Siku Nov 12, 2017
e4ae54c
Erreur de gradle
Nov 13, 2017
cab9667
Merge branch 'ContratForm' of https://github.com/GiInfo/SXP into Cont…
Nov 13, 2017
6ec5aa1
messages for 2+ users
Nov 14, 2017
461d855
Code Commenter
Nov 15, 2017
44f13ea
reordering modalities done
Mimi-Siku Nov 17, 2017
7288ff0
add forum to contract
massinissaYousfi Nov 18, 2017
f5eb490
clean up the front-end code
Mimi-Siku Nov 18, 2017
302ba94
Clean the front code
Mimi-Siku Nov 18, 2017
a0b2556
Merge pull request #7 from GiInfo/two_and_more_messages
GiInfo Nov 19, 2017
7786b50
Merge pull request #8 from GiInfo/add_form_to_+2
TiagoCortinhal Nov 19, 2017
799bcf3
Revert "Merge pull request #4 from GiInfo/ignoring_failing_test_for_j…
Nov 19, 2017
30d0413
Merge branch 'master' into ContratForm2
Nov 19, 2017
b5afc93
local libs
Nov 19, 2017
2e7713f
Merge pull request #11 from GiInfo/two_and_more_messages
GiInfo Nov 19, 2017
e75c0a4
merge corrected
Nov 19, 2017
3e26c1f
Merge branch 'master' into ContratForm2
TiagoCortinhal Nov 19, 2017
7ae583c
Merge pull request #10 from GiInfo/ContratForm2
TiagoCortinhal Nov 19, 2017
f058183
corrected conflicts
Nov 19, 2017
7ad977e
Merge pull request #12 from GiInfo/correct_miss_conflicts
GiInfo Nov 19, 2017
e1ad963
missed the subscribe
Nov 19, 2017
ed13ef6
Merge pull request #13 from GiInfo/correct_miss_conflicts_2
GiInfo Nov 19, 2017
5aa4fcb
correction apres le 1er merge
Nov 19, 2017
12db52d
After 1ere merge
Nov 19, 2017
6a9bcc5
Merge branch 'master' of https://github.com/GiInfo/SXP
Nov 19, 2017
72a9458
Merge branch 'master' into tampon
GiInfo Nov 19, 2017
f677f78
Merge branch 'master' into tampon
GiInfo Nov 19, 2017
6fc863c
Merge pull request #14 from GiInfo/tampon
TiagoCortinhal Nov 20, 2017
463c298
order messages by categories. message for :
Nov 22, 2017
57bd851
missing parties wish from Contract and ContractEntity
Nov 22, 2017
92fc12c
Merge pull request #15 from GiInfo/missing_partiesWish
GiInfo Nov 22, 2017
9a66c39
adding is missing userconnected to contract.js
Nov 22, 2017
72a9a43
Merge pull request #16 from GiInfo/isUserConnected
TiagoCortinhal Nov 22, 2017
c11662d
order messages by categories. message for :
Nov 22, 2017
90d911f
Merge branch 'master' into separe_messages_to_categories
massinissaYousfi Nov 22, 2017
64982e7
Merge pull request #17 from GiInfo/separe_messages_to_categories
TiagoCortinhal Nov 22, 2017
fc59b2d
correcting missing forum from contract
Nov 22, 2017
df9e630
Merge pull request #18 from GiInfo/correcting_missing_forum
GiInfo Nov 22, 2017
0c43265
missing nicks
Nov 22, 2017
f99da8c
Merge pull request #19 from GiInfo/correcting_missing_forum
GiInfo Nov 22, 2017
a451fd6
parties OK
Mimi-Siku Nov 22, 2017
02302d7
Merge pull request #20 from GiInfo/Contract-Form
massinissaYousfi Nov 23, 2017
02f9c14
switch to bootstrap and ajust messages
Nov 24, 2017
1f85304
correct some bug in displaying messages
Nov 25, 2017
ff136b1
fixing forum
Nov 26, 2017
85006af
minor corrections
Nov 26, 2017
a4ed0c4
minor corrections
Nov 26, 2017
5413cee
minor corrections
Nov 26, 2017
0813268
minor corrections
Nov 26, 2017
7ef5572
correct display to messages , one in private message and the other in…
Nov 26, 2017
26103bc
Merge branch 'master' into messages_like_gmail_with_bootrap_instead_n…
GiInfo Nov 26, 2017
8ca2aca
Merge pull request #21 from GiInfo/messages_like_gmail_with_bootrap_i…
GiInfo Nov 26, 2017
f6814cd
correct display to messages , one in private message and the other in…
Nov 26, 2017
e1f3276
Merge remote-tracking branch 'origin/messages_like_gmail_with_bootrap…
Nov 26, 2017
58de018
Merge pull request #22 from GiInfo/messages_like_gmail_with_bootrap_i…
GiInfo Nov 26, 2017
5ced726
no 2 users will have the same nick
Nov 27, 2017
719e52d
Merge pull request #23 from GiInfo/one_nick_one_user
GiInfo Nov 27, 2017
4dc4ea9
no 2 users will have the same nick
Nov 27, 2017
5adf4a7
Merge pull request #24 from GiInfo/one_nick_one_user
GiInfo Nov 27, 2017
a6adc8b
Update README.md
TiagoCortinhal Nov 27, 2017
1fcb469
Merge pull request #25 from GiInfo/TiagoCortinhal-patch-1
GiInfo Nov 27, 2017
97486cf
missing correcting from merge
Nov 27, 2017
9b9f55f
Merge pull request #26 from GiInfo/correcting_signature_put
GiInfo Nov 27, 2017
0f46f35
correcting contract bugs, fixing signatures and adding modified status
Nov 28, 2017
6998efe
Merge pull request #27 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
72a0fba
split bug on viewContract
Nov 28, 2017
abed825
Merge pull request #28 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
a66daeb
adding parties wishes to contract prewview
Nov 28, 2017
ef805b1
Merge pull request #29 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
3b2b02a
re-fixing... http put call
Nov 28, 2017
f9247b6
Merge pull request #30 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
9d01bef
fixing contract button colours. select users in messages colours
Nov 28, 2017
e040174
Merge pull request #31 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
edfd305
fixing signatures
Nov 28, 2017
a16821e
Merge pull request #32 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
56e83b3
fixing forum for all contracts even cancelled ones
Nov 28, 2017
5457c25
Merge pull request #33 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
ccdcae3
upgrading readme.md
Nov 28, 2017
f4ca08d
Merge pull request #34 from GiInfo/correcting_contract_bugs
GiInfo Nov 28, 2017
366c562
correct display to messages , one in private message and the other in…
Nov 29, 2017
9fefb8a
correcting typo
Nov 29, 2017
706411c
Adding contract Title
Nov 29, 2017
cdeb361
Adding contract Title
Nov 29, 2017
bf11ec7
Merge pull request #35 from GiInfo/improve_form_filter_color
GiInfo Nov 29, 2017
3deec54
fixing welcome message duplication in forum
Nov 29, 2017
f82ed7d
order messages from most recent to most ancient
Nov 29, 2017
3a40057
Merge pull request #36 from GiInfo/fixing_forum_button
GiInfo Nov 29, 2017
9bdd400
Modification creation contrat
Nov 29, 2017
fedbe52
Merge branch 'master' into Ibra
GiInfo Nov 29, 2017
3aa34d2
Update Contracts.java
GiInfo Nov 29, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ src/main/javascript/client/SXP*
/logs/
/simpleDb/
src/main/js/SXP-linux-x64/
src/main/js/SXP-darwin-x64/
src/main/js/node_modules/
certConfig.conf
keystore.jks
.cache*
derby.log
SXP.iml
/.idea/
5 changes: 4 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,10 @@ tests:
except:
- master


deploy:
stage: deploy
script:
- ./deploy
#selenium:
# stage: test
# image: selenium/standalone-firefox
Expand Down
58 changes: 10 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,14 @@
# Secure Exchange Protocols (SXP)
This is the wiki of the project **ContractSXP**.

Below is a description of the idea behind the SXP project. For technical details the reader should refer to the wiki on github.
* SXP protocol wiki: https://pja35.github.io/SXP/wiki/.
* SXP code wiki https://github.com/pja35/SXP/wiki/.
If you need more details, please refer to the SXP wiki: [https://pja35.github.io/SXP/wiki/](https://pja35.github.io/SXP/wiki/) or the code wiki: [https://github.com/pja35/SXP/wiki/.](https://github.com/pja35/SXP/wiki/.)

## Philosophy
* [Installation](https://github.com/GiInfo/SXP/wiki/Installation)
* [User Manual](https://github.com/GiInfo/SXP/wiki/User-Manual)
* The project and what we did:

Centralized and free services have counterparts: *Google*, *Facebook*, *Amazon*... are watching you. They scan your browsing to exploit your datas. "If it is free, then you are the product" is now a famous adage related to such services. Our technological era allows us to easily connect to each other. Why not build our self-managed services in peer-to-peer? [1]

[1] https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html

This is a project to create an open, ubiquitous, peer-to-peer, secure protocol suite for multi-party exchanges of contracts.

The idea is that any of us can join together and create a virtual market, in which others can tell what they have to offer and what they need. The market, or anyone for that matter, can propose deals, whereby one person would give an item to another who gives an item to a third etc. If all parties concerned agree to a deal, the deal gets secured into an electronic contract, signed by the different parties.

More precisely, say Alice, Bob, and Charlie have access to different resources a, b, and c. Say Alice wants b, Bob wants c and Charlie wants a, but they do not know each other, nor do they trust each other. Here a, b and c can be anything, e.g a the ability to give maths lessons, b some barrel of beer, and c coins from a certain currency. Finally, say Alice, Bob and Charlie have an iPhone, Android, or whatever smart phone in their pockets. Using Secure eXchange Protocols on their smart phones, they should be able to quickly declare their resources and needs on virtual ad hoc markets, which in turn should detect and propose the obvious deal between them. If the three of them accept the deal, then an electronic contract will be secured, which is a formal proof of their agreement to perform the swap.

## In brief

Most of websites bringing users together rely on common principles:
* account creation on a server,
* publication and search of announcements,
* connect users,
and differ only according to the market they hold: *Airbnb* (housing), *Drivy* (cars), etc. Despite this common basis, each company develops its own software solution. The SXP project aims at offering this shared core features, and imposing it via open source diffusion, on the one hand. On the other hand, SXP decides to implement these services on **peer-to-peer**, i.e. it gets rid of the centralized server maintaining accounts and announcements. This, in a:
* secure ("if I use an official version of the SXP client, then my datas are safe and my identity preserved, even if other users are malicious modify their SXP client"),
* resilient ("if I shutdown or even lost my computer or smartphone, my accounts continue to exists on the network, and I continue to receive messages, that I will be able to read from a new machine"),
* transparent ("As the source code is open and executed by me, I know exactly what the system does, and I can contribute to its enhancement").
These choices reassure users and allow economic actors to open new markets via a simple adaptation of the SXP client, without infrastructure cost.

## Contract signing

When two users, say Alice and Bob, agree on a contract C, they have to sign this contract: Alice wants C signed by B and Bob wants C signed by Alice. But who is about to sign first? In real life they meet and sign simultaneously. On a network this is not possible. Yet, if Alice commits first she runs the risk of never receiving Bob\'92s counterpart, whereas he can benefit from what she gave in.

The traditional solution relies on a trusted third party, Trent, acting as an intermediate to which Alice and Bob each send the contract with their signature. In SXP, this solution consists in offering centralized services in order to secure an exchange -- this is a possible economic model for the project.

Nevertheless, there exist "optimistic" contract signing protocols, that call Trent only if there is a conflict between Alice and Bob -- i.e. as a referee rather than as an intermediate. SXP implements such a protocol. An additional step would be to replace a single Trent with a set of random peers -- i.e. to replace the referee with a jury. It seems possible though still at a research stage. In technical terms, our idea is basically to merge two great works in order to fit our needs: publicly verifiable secret sharing [1] and optimistic fair exchange protocols [2,3].

[1] Markus Stadler, Publicly Verifiable Secret Sharing.
[2] Schunter Asokan, Review of optimistic fair exchange.
[3] Gildas Avoine and Serge Vaudenay, Optimistic Fair Exchange Based on Publicly Verifiable Secret Sharing.

## Comparison to existing services

* Some free CMS, such as *Wordpress*, ease the creation of online shops. None offers a complete solution to bring users together. None offers a decentralize solution.
* *Bitcoin* is a virtual currency in P2P. It is actually one big shared ledger book, with mechanisms enforcing consensus of users on its content, and in which writing "Alice gives 10B$ to Bob" signed by Alice is equivalent to effectively doing it. This technology has drawbacks: the ledger book is growing huge (13Go in Jan. 2014, 50Go in Dec. 2015), and the enormous consumption of computational power and energy needed for consensus mechanisms. Compared to SXP, *Bitcoin* does not allow diffusion and search of announcements, but offers a payment system that may be seen as complementary.
* *Diaspora* is a social network in P2P, that does not implement any cryptography yet.

## Status

SXP is now at a prototype stage. In particular, it has a rudimentary user interface. But main functionalities of account creation, announcement publication, announcement search, resilience of accounts and datas, confidentiality, are implemented, as well as a first version of optimistic contract signing.
* Definition of a Contract
* [Multi-user chat and Contract chat](https://github.com/GiInfo/SXP/wiki/Multi-user-chat-and-Contract-chat)
* [Making users aware of the status of a contract](https://github.com/GiInfo/SXP/wiki/Making-users-aware-of-the-status-of-a-contract)
* [Small contributions here and there](https://github.com/GiInfo/SXP/wiki/Small-contributions-here-and-there)

* [What else can be done](https://github.com/GiInfo/SXP/wiki/What-else-can-be-done)
184 changes: 93 additions & 91 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,23 @@ jacoco {

//Adding Google java format and sonar pluggins for jdk >= 8
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
//classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.3.2"
if (JavaVersion.current() >= JavaVersion.VERSION_1_8) {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.1"
}
classpath "com.netflix.nebula:nebula-ospackage-plugin:3.+"
}
}
dependencies {
//classpath "gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.3.2"
if(JavaVersion.current()>= JavaVersion.VERSION_1_8){
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.1"
}
classpath "com.netflix.nebula:nebula-ospackage-plugin:3.+"
}
}

//apply plugin: "com.github.sherter.google-java-format"
if(JavaVersion.current()>= JavaVersion.VERSION_1_8){
apply plugin: "org.sonarqube"
if (JavaVersion.current() >= JavaVersion.VERSION_1_8) {
apply plugin: "org.sonarqube"
}


Expand All @@ -37,15 +37,17 @@ targetCompatibility = 1.7
repositories {
mavenCentral()
maven {

url 'http://www.janus-project.org/maven'
url uri('libs')

}
}
jar {
manifest {
attributes 'Implementation-Title': 'SXP network',
'Implementation-Version': 1.0
}
manifest {
attributes 'Implementation-Title': 'SXP network',
'Implementation-Version': 1.0
}
}

sourceSets.main.resources.srcDirs += ["src/main/resources"]
Expand All @@ -57,15 +59,15 @@ configurations {
}

//Define selenium sources and resources
sourceSets {
selenium {
sourceSets {
selenium {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/selenium/java')
}
resources.srcDir file('src/selenium/resources')
}
}
}

//selenium task
Expand All @@ -75,28 +77,28 @@ task selenium(type: Test) {
testClassesDir = sourceSets.selenium.output.classesDir
classpath = sourceSets.selenium.runtimeClasspath
outputs.upToDateWhen { false }
// jvmArgs ""
// jvmArgs ""
}

test{
//exclude 'model/syncManager/**'
//exclude 'controller/**'
//exclude 'crypt/**'
//exclude 'model/entity/**'
//exclude 'model/validator/**'
//exclude 'network/**'
//exclude 'protocol/**'
//exclude 'rest/**'
//exclude 'util/**'
testLogging {
showStandardStreams = false
showExceptions = false
showStackTraces = false
}
if (System.getProperty('DEBUG', 'false') == 'true') {
test {
//exclude 'model/syncManager/**'
//exclude 'controller/**'
//exclude 'crypt/**'
//exclude 'model/entity/**'
//exclude 'model/validator/**'
//exclude 'network/**'
//exclude 'protocol/**'
//exclude 'rest/**'
//exclude 'util/**'

testLogging {
showStandardStreams = false
showExceptions = false
showStackTraces = false
}


if (System.getProperty('DEBUG', 'false') == 'true') {
jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006'
}
}
Expand Down Expand Up @@ -130,52 +132,53 @@ tasks.withType(Test) {
}

dependencies {
compile 'org.hibernate:hibernate-validator:5.2.4.Final'
compile 'org.apache.logging.log4j:log4j-api:2.1'
compile 'org.apache.logging.log4j:log4j-core:2.1'
compile 'org.apache.logging.log4j:log4j-1.2-api:2.1'
compile 'org.apache.logging.log4j:log4j-web:2.5'
compile 'org.eclipse.jetty:jetty-server:9.2+'
compile 'org.eclipse.jetty:jetty-servlet:9.2+'
compile 'org.eclipse.jetty:jetty-webapp:9.3+'

compile 'org.hibernate:hibernate-validator:5.2.4.Final'

compile 'org.apache.logging.log4j:log4j-api:2.1'
compile 'org.apache.logging.log4j:log4j-core:2.1'
compile 'org.apache.logging.log4j:log4j-1.2-api:2.1'
compile 'org.apache.logging.log4j:log4j-web:2.5'

compile 'org.eclipse.jetty:jetty-server:9.2+'
compile 'org.eclipse.jetty:jetty-servlet:9.2+'
compile 'org.eclipse.jetty:jetty-webapp:9.3+'
compile 'org.eclipse.jetty:jetty-util:9.2+'
//compile 'org.eclipse.jetty:apache-jsp:9.2+'
//compile 'org.eclipse.jetty:apache-jstl:9.2+'

compile 'org.apache.commons:commons-collections4:4.0'

compile 'org.glassfish.jersey.core:jersey-server:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-servlet-core:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-jetty-http:2.7'
compile 'org.glassfish.jersey.media:jersey-media-moxy:2.7'
compile 'javax:javaee-api:7.0'
compile 'org.apache.derby:derby:10.12.1.1'
compile 'org.eclipse.persistence:eclipselink:2.6.3-M1'
compile 'org.eclipse.persistence:javax.persistence:2.1.1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.3'
compile fileTree(dir: './libs', include: '*.jar')
compile ('com.kenai.jxse:jxse:2.7')
{
// org.jboss.netty has moved to io.netty
exclude group: 'org.jboss.netty', module: 'httptunnel'
}
compile 'org.jdom:jdom2:2.0.6'
compile 'com.google.guava:guava:19.0'
compile 'org.shredzone.acme4j:acme4j-utils:0.8'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.3'

compile 'org.hibernate:hibernate-validator:5.3.3.Final'
compile 'javax.el:javax.el-api:2.2.4'
compile 'org.glassfish.web:javax.el:2.2.4'


testCompile 'org.apache.commons:commons-lang3:3.1'
testCompile fileTree(dir: './libs', include: 'loremipsum-1.0.jar')
testCompile group: 'junit', name: 'junit', version: '4.+'
//compile 'org.eclipse.jetty:apache-jsp:9.2+'
//compile 'org.eclipse.jetty:apache-jstl:9.2+'

compile 'org.apache.commons:commons-collections4:4.0'

compile 'org.glassfish.jersey.core:jersey-server:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-servlet:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-servlet-core:2.7'
compile 'org.glassfish.jersey.containers:jersey-container-jetty-http:2.7'
compile 'org.glassfish.jersey.media:jersey-media-moxy:2.7'
compile 'javax:javaee-api:7.0'
compile 'org.apache.derby:derby:10.12.1.1'
compile 'org.eclipse.persistence:eclipselink:2.6.3-M1'
compile 'org.eclipse.persistence:javax.persistence:2.1.1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.3'
compile 'io.netty:netty-all:4.0.24.Final'
compile('com.kenai.jxse:jxse:2.7') {
exclude group: 'org.jboss.netty', module: 'httptunnel'

}
compile 'org.jdom:jdom2:2.0.6'
compile fileTree(dir: './libs', include: '*.jar')
compile 'com.google.guava:guava:19.0'
compile 'org.shredzone.acme4j:acme4j-utils:0.8'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.3'

compile 'org.hibernate:hibernate-validator:5.3.3.Final'
compile 'javax.el:javax.el-api:2.2.4'
compile 'org.glassfish.web:javax.el:2.2.4'


testCompile 'org.apache.commons:commons-lang3:3.1'
testCompile fileTree(dir: './libs', include: 'loremipsum-1.0.jar')
testCompile group: 'junit', name: 'junit', version: '4.+'

testCompile group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.16.0'
testCompile group: 'org.json', name: 'json', version: '20160810'
seleniumCompile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.0.1'
Expand All @@ -184,20 +187,19 @@ dependencies {
configurations.all {
exclude group: "log4j", module: "log4j"
}

[compileJava, compileTestJava]*.options.collect {options ->
options.encoding = 'UTF-8'}

eclipse {
classpath {
downloadSources = true
downloadJavadoc = true
}
classpath {
downloadSources = true
downloadJavadoc = true
}
}

//Copy dependencies in the libs directory
task libs(type: Sync) {
from configurations.compile
from configurations.compile
//from configurations.runtime
from configurations.testCompile
from configurations.seleniumCompile
Expand Down
Loading