Skip to content

olamy/uap-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ua_parser Java Library

This is a fork of the the Java implementation of ua-parser. It has been forked due to lack of maintenance.

The implementation uses the shared regex patterns and overrides from regexes.yaml.

Import Dependency:

Maven

<dependency>
  <groupId>io.github.olamy.ua-parser</groupId>
  <artifactId>uap-java</artifactId>
  <version>1.6.0</version>
</dependency>

Gradle (Kotlin)

implementation("io.github.olamy.ua-parser.ua-parser:uap-java:1.6.0")

SBT

"io.github.olamy.ua-parser" % "uap-java" % "1.5.4"

Build:

uap-java depends on the uap-core project therefore it uses a Git submodule to represent that dependency.
Before building uap-java, a copy of the uap-core project must be checked out within the local uap-java repository.
In order to do this, execute the following command (from the base uap-java folder) to initialize and checkout the submodule.

git submodule update --init --remote --checkout --recursive

you will then have the following folder uap-java/uap-core which contains the child repository.

To build the project, execute

mvn package

Usage:

import ua_parser.Parser;
import ua_parser.Client;

...

String uaString = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3";

Parser uaParser = new Parser();
Client c = uaParser.parse(uaString);

System.out.println(c.userAgent.family); // => "Mobile Safari"
System.out.println(c.userAgent.major);  // => "5"
System.out.println(c.userAgent.minor);  // => "1"

System.out.println(c.os.family);        // => "iOS"
System.out.println(c.os.major);         // => "5"
System.out.println(c.os.minor);         // => "1"

System.out.println(c.device.family);    // => "iPhone"

Release

As git submodule is not supported by Apache Maven scm, you must skip tests when releasing:

mvn release:prepare release:perform -DskipTests -Darguments="-DskipTests" -DlocalCheckout=true -B

Changelog

Changelog can be found here.

Original Author:

Based on the python implementation by Lindsey Simon and using agent data from BrowserScope

About

Java implementation of ua-parser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%