Each query consist of Tokens.
Token is a pair of <identifyer>:<value> separated with :.
Following common Identifyers supported:
| Identifyer | Description | 
|---|---|
| storage | storage ID | 
| repository | repository ID | 
| layout | repository layout name | 
| tag | avaliable tag name | 
| from | uploading date from (unicode format) | 
| to | uploading date to (unicode format) | 
| age | constant: day,month,year, etc. | 
| asc | ascending order | 
| desc | descending order | 
Also there is layout specific Identifiers:
| Identifyer | 
|---|
| groupId | 
| artifactId | 
| version | 
| Identifyer | 
|---|
| Id | 
| Version | 
| Identifyer | 
|---|
| scope | 
| name | 
| version | 
Values can be strings:
- quotet with single quotes 'if needed (Valid Examples:storage: storage0,layout: 'Maven 2')
- separated with comma ,(Valid Examples:repository: releases, snapshots,layout: 'Maven 2', NuGet)
- wiledcards supported *(Valid Examples:group: org.carlspring.*)
Values can be dates in unicode format: 2018-03-21 13:00:00
Values can be keywords/constants: day, month, year, etc.
Tokens in query are combined into an expression:
storage:storage0 repository:releases
Expression parts can be surrounded by round brackets.
(storage:storage0)(repository:releases)
means same as
storage:storage0 repository:releases
means same as
((storage:storage0) (repository:releases))
Expression parts can be joined by logical operators:
- ANDis implied by default and means logical conjuncion (equivalent synonymous:- &,- &&)
- ORmeans logical disjunction (equivalent synonymous:- |,- ||)
(storage:storage0)(repository:releases)
means same as
(storage:storage0) AND (repository:releases)
means same as
storage:storage0 && repository:releases
Expression parts can be prefixed with negation or no negation
- +is implied by default and means no negation (by and large does not mean anything, you can use it simply for clarity)
- -means logical negation
+(storage:storage0)+(repository:releases)-(groupId: 'org.carlspring')
means same as
storage:storage0 AND +repository:releases AND NOT groupId: 'org.carlspring'
means same as
storage:storage0 repository:releases NOT groupId: 'org.carlspring'
Identifiers should be renamed to coordinates.
Also Maven's coordinates include two more --
typeandclassifier.This looks good to me!