Skip to content

Commit

Permalink
Remoção de dependencias externas. Uso da lib Gson para conversão da r…
Browse files Browse the repository at this point in the history
…esposta. Utilização do ProGuard para optimizar a lib
  • Loading branch information
nidorx committed Jul 7, 2019
1 parent 35c1f63 commit 9e72aa5
Show file tree
Hide file tree
Showing 4 changed files with 122 additions and 68 deletions.
87 changes: 64 additions & 23 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,7 @@
<groupId>com.github.nidorx</groupId>
<artifactId>http-request</artifactId>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>

<packaging>jar</packaging>

<name>HttpRequest</name>
Expand All @@ -31,6 +20,7 @@
<maven>3.5.2</maven>
</prerequisites>


<contributors>
<contributor>
<name>Alex Rodin</name>
Expand All @@ -49,17 +39,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>

<sonar-maven-plugin.version>4.5.7</sonar-maven-plugin.version>
<maven-checkstyle-plugin.version>2.12.1</maven-checkstyle-plugin.version>
<maven-site-plugin.version>3.3</maven-site-plugin.version>
<maven-javadoc-plugin.version>2.9.1</maven-javadoc-plugin.version>
<maven-source-plugin.version>2.1.2</maven-source-plugin.version>

<start-class>torneio.Aplicacao</start-class>
<arquitetura-spring.version>0.0.4-SNAPSHOT</arquitetura-spring.version>
<sonar.projectKey>csgo-torneio-server</sonar.projectKey>
<sonar.host.url>http://3.95.91.2:9000</sonar.host.url>
<sonar.login>8e99796f608e91ad5092493d3203c6b22ffd4350</sonar.login>
<jackson.version>2.9.8</jackson.version>
</properties>

<repositories>
Expand Down Expand Up @@ -90,4 +70,65 @@
</releases>
</pluginRepository>
</pluginRepositories>

<dependencies>
<!--<dependency>-->
<!--<groupId>com.fasterxml.jackson.core</groupId>-->
<!--<artifactId>jackson-databind</artifactId>-->
<!--<version>${jackson.version}</version>-->
<!--</dependency>-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>

<configuration>
<injar>${project.build.finalName}.jar</injar>
<proguardVersion>5.3</proguardVersion>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
53 changes: 53 additions & 0 deletions proguard.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#https://www.guardsquare.com/en/proguard/manual/introduction

# Java runtime
-libraryjars <java.home>/lib/rt.jar
-verbose
#-dontnote

-optimizations !code/allocation/variable
#-keepparameternames
-renamesourcefileattribute SourceFile
-repackageclasses 'com.github.nidorx.gson'
-allowaccessmodification

# Annotations and signatures
-keepattributes *Annotation*,Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod


# Preserva todas as classes publicas, seus métodos public e protected
-keep public class com.github.nidorx.http.** {
public protected *;
}

# Preserva os nomes de métods de todas as .class
-keepclassmembernames class * {
java.lang.Class class$(java.lang.String);
java.lang.Class class$(java.lang.String, boolean);
}

# Preserva todos os nomes de métodos nativos e o nome de suas classes
-keepclasseswithmembernames class * {
native <methods>;
}

# Preserve the special static methods that are required in all enumeration classes.
-keepclassmembers class * extends java.lang.Enum {
public static **[] values();
public static ** valueOf(java.lang.String);
}

# Explicitly preserve all serialization members. The Serializable interface
# is only a marker interface, so it wouldn't save them.
# You can comment this out if your library doesn't use serialization.
# If your code contains serializable classes that have to be backward
# compatible, please refer to the manual.

-keepclassmembers class * implements java.io.Serializable {
java.lang.Object readResolve();
java.lang.Object writeReplace();
static final long serialVersionUID;
private void readObject(java.io.ObjectInputStream);
private void writeObject(java.io.ObjectOutputStream);
static final java.io.ObjectStreamField[] serialPersistentFields;
}
9 changes: 5 additions & 4 deletions src/main/java/com/github/nidorx/http/HttpResponse.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.nidorx.http;

import com.github.nidorx.http.util.ObjectMapper;

import com.google.gson.Gson;

import java.net.CookieManager;
import java.util.HashMap;
Expand All @@ -12,7 +13,7 @@
*/
public class HttpResponse {

private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
private static final Gson OBJECT_MAPPER = new Gson();

public int statusCode;

Expand All @@ -26,14 +27,14 @@ public Map<String, Object> asJson() throws Exception {
if (content == null || content.isEmpty()) {
return null;
}
return OBJECT_MAPPER.readValue(content, HashMap.class);
return OBJECT_MAPPER.fromJson(content, HashMap.class);
}

public <T> T asJson(Class<T> type) throws Exception {
if (content == null || content.isEmpty()) {
return null;
}
return OBJECT_MAPPER.readValue(content, type);
return OBJECT_MAPPER.fromJson(content, type);
}

public boolean isSuccess() {
Expand Down
41 changes: 0 additions & 41 deletions src/main/java/com/github/nidorx/http/util/ObjectMapper.java

This file was deleted.

0 comments on commit 9e72aa5

Please sign in to comment.