Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
24fc66d
qulice-maven-plugin up to 0.23.0
uchitsa Dec 2, 2024
92613b2
fix line too long error
uchitsa Dec 2, 2024
eea2e72
fix trailing spaces
uchitsa Dec 2, 2024
35aefaf
fix quality violations
uchitsa Dec 2, 2024
f444802
fix quality violations
uchitsa Dec 2, 2024
cd42c9a
fix quality violations
uchitsa Dec 2, 2024
055cd9e
fix quality violations
uchitsa Dec 2, 2024
9a73dd3
fix quality violations
uchitsa Dec 2, 2024
1b63c00
fix quality violations
uchitsa Dec 2, 2024
8b8325a
fix quality violations
uchitsa Dec 3, 2024
baba8f5
fix quality violations
uchitsa Dec 3, 2024
085e11b
fix quality violations
uchitsa Dec 3, 2024
12d375f
fix quality violations
uchitsa Dec 3, 2024
9340ccf
fix quality violations
uchitsa Dec 3, 2024
aa5846b
fix quality violations
uchitsa Dec 3, 2024
6125a6d
fix quality violations
uchitsa Dec 3, 2024
6337925
fix quality violations
uchitsa Dec 3, 2024
779711f
fix quality violations
uchitsa Dec 3, 2024
fcda2f9
fix quality violations
uchitsa Dec 3, 2024
f88970d
fix quality violations
uchitsa Dec 3, 2024
c023a4d
fix quality violations
uchitsa Dec 3, 2024
72508c2
fix quality violations
uchitsa Dec 3, 2024
e89ac2b
fix quality violations
uchitsa Dec 3, 2024
bd20785
fix quality violations
uchitsa Dec 3, 2024
cebd5b9
fix quality violations
uchitsa Dec 3, 2024
dc41217
fix quality violations
uchitsa Dec 3, 2024
c0335a5
fix quality violations
uchitsa Dec 4, 2024
6a8e595
fix quality violations
uchitsa Dec 4, 2024
fdcd2c2
fix quality violations
uchitsa Dec 4, 2024
a37685e
fix quality violations
uchitsa Dec 4, 2024
83b9a8a
fix quality violations
uchitsa Dec 4, 2024
4327d59
fix quality violations
uchitsa Dec 4, 2024
be2976d
fix quality violations
uchitsa Dec 4, 2024
c307bf0
fix quality violations
uchitsa Dec 4, 2024
c73ce1a
fix quality violations
uchitsa Dec 4, 2024
7902f1c
fix quality violations
uchitsa Dec 4, 2024
b453a57
fix quality violations
uchitsa Dec 4, 2024
fef3ece
fix quality violations
uchitsa Dec 4, 2024
a8320e3
fix quality violations
uchitsa Dec 4, 2024
509c751
fix quality violations
uchitsa Dec 4, 2024
3212f0f
fix quality violations
uchitsa Dec 4, 2024
e2f6c7c
fix quality violations
uchitsa Dec 4, 2024
d358f0b
fix quality violations
uchitsa Dec 5, 2024
d3138f8
fix quality violations
uchitsa Dec 5, 2024
41d1704
fix quality violations
uchitsa Dec 5, 2024
a2b65b0
fix quality violations
uchitsa Dec 5, 2024
67a3fe3
fix quality violations
uchitsa Dec 5, 2024
5009737
fix quality violations
uchitsa Dec 5, 2024
f3b17c9
fix quality violations
uchitsa Dec 8, 2024
21a9f17
fix quality violations
uchitsa Dec 8, 2024
d58b2f5
fix quality violations
uchitsa Dec 8, 2024
202359c
fix quality violations
uchitsa Dec 8, 2024
486216e
fix quality violations
uchitsa Dec 8, 2024
d29972e
fix quality violations
uchitsa Dec 12, 2024
b7d0f2d
fix quality violations
uchitsa Dec 12, 2024
4bb88a7
fix quality violations
uchitsa Dec 16, 2024
2fe7b56
fix quality violations
uchitsa Dec 22, 2024
7577e4d
fix quality violations
uchitsa Dec 22, 2024
004e8f5
fix quality violations
uchitsa Dec 24, 2024
8a93a2c
fix quality violations
uchitsa Dec 24, 2024
c30c03f
fix quality violations
uchitsa Dec 25, 2024
08c9c0d
fix quality violations
uchitsa Dec 26, 2024
2480d2a
fix quality violations
uchitsa Dec 26, 2024
c2abdcb
fix quality violations
uchitsa Dec 27, 2024
b80739b
fix quality violations
uchitsa Dec 28, 2024
7375070
fix quality violations
uchitsa Dec 28, 2024
6107c84
fix quality violations
uchitsa Dec 28, 2024
114a009
fix quality violations
uchitsa Dec 28, 2024
58a5c15
fix quality violations
uchitsa Dec 28, 2024
35cc46b
fix quality violations
uchitsa Jan 2, 2025
449b357
fix quality violations
uchitsa Jan 2, 2025
c1c8b59
fix quality violations
uchitsa Jan 6, 2025
ff32a58
fix quality violations
uchitsa Jan 6, 2025
1fc0ca5
fix quality violations
uchitsa Jan 8, 2025
c4e3a3b
fix quality violations
uchitsa Jan 8, 2025
dfb53d8
fix quality violations
uchitsa Jan 16, 2025
2031977
fix quality violations
uchitsa Jan 16, 2025
217627d
fix quality violations
uchitsa Jan 17, 2025
9ac763c
fix quality violations
uchitsa Jan 17, 2025
1ba6269
fix quality violations
uchitsa Jan 24, 2025
380d129
fix quality violations
uchitsa Jan 24, 2025
ca76af1
fix quality violations
uchitsa Jan 26, 2025
f3818eb
fix quality violations
uchitsa Jan 26, 2025
3d52247
fix quality violations
uchitsa Jan 26, 2025
d9f028e
fix quality violations
uchitsa Jan 27, 2025
6da3d2b
fix quality violations
uchitsa Jan 27, 2025
63770ba
fix quality violations
uchitsa Jan 27, 2025
744d7bc
fix quality violations
uchitsa Jan 27, 2025
ee6137f
fix quality violations
uchitsa Feb 2, 2025
0bb5a35
Merge remote-tracking branch 'origin/master' into qulice-maven-plugin…
uchitsa Feb 2, 2025
485fa35
fix quality violations
uchitsa Feb 2, 2025
54b6469
fix quality violations
uchitsa Feb 2, 2025
425c05b
fix quality violations
uchitsa Feb 2, 2025
619c112
fix quality violations
uchitsa Feb 3, 2025
bd4b313
fix quality violations
uchitsa Feb 3, 2025
d534153
fix quality violations
uchitsa Feb 3, 2025
425fe9c
fix quality violations
uchitsa Feb 3, 2025
dc08076
fix quality violations
uchitsa Feb 3, 2025
ecfd213
fix quality violations
uchitsa Feb 3, 2025
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
3 changes: 2 additions & 1 deletion .rultor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ release:
[[ "${tag}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit -1
mvn versions:set "-DnewVersion=${tag}" --batch-mode
git commit -am "${tag}"
export MAVEN_OPTS="--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED"
export MAVEN_OPTS="--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.lang.reflect=ALL-UNNAMED"
mvn clean deploy -Pqulice,sonatype,jcabi -B -e -s ../settings.xml
mvn clean site-deploy -Psite -B -e -s ../settings.xml
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE.
<plugin>
<groupId>com.qulice</groupId>
<artifactId>qulice-maven-plugin</artifactId>
<version>0.22.0</version>
<version>0.23.0</version>
<configuration>
<excludes combine.children="append">
<exclude>findbugs:.*</exclude>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ void disablesDefaultColor() {
Mockito.doReturn(Level.DEBUG).when(event).getLevel();
Mockito.doReturn("no color").when(event).getRenderedMessage();
MatcherAssert.assertThat(
"should equal to '[\\u001B[2;37mDEBUG\\u001B[m] \\u001B[2;37mno color\\u001B[m'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[\\u001B[2;37mDEBUG\\u001B[m] \\u001B[2;37mno color\\u001B[m"
Expand All @@ -80,6 +81,7 @@ void disablesDefaultColor() {
);
try {
MatcherAssert.assertThat(
"should equal to '[DEBUG] no color'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[DEBUG] no color"
Expand All @@ -105,6 +107,7 @@ void disablesOverridenDefaultColor() {
Mockito.doReturn(Level.DEBUG).when(event).getLevel();
Mockito.doReturn("no colour text").when(event).getRenderedMessage();
MatcherAssert.assertThat(
"should equal to '[DEBUG] no color'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[\\u001B[2;10mDEBUG\\u001B[m] no colour text"
Expand All @@ -116,6 +119,7 @@ void disablesOverridenDefaultColor() {
);
try {
MatcherAssert.assertThat(
"should equal to '[DEBUG] no colour text'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[DEBUG] no colour text"
Expand All @@ -141,6 +145,7 @@ void disablesConstantColor() {
Mockito.doReturn(Level.DEBUG).when(event).getLevel();
Mockito.doReturn("no color text").when(event).getRenderedMessage();
MatcherAssert.assertThat(
"should equal to '[\\u001B[34mDEBUG\\u001B[m] \\u001B[34mno color text\\u001B[m'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[\\u001B[34mDEBUG\\u001B[m] \\u001B[34mno color text\\u001B[m"
Expand All @@ -152,6 +157,7 @@ void disablesConstantColor() {
);
try {
MatcherAssert.assertThat(
"should equal to '[DEBUG] no color text'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[DEBUG] no color text"
Expand All @@ -177,6 +183,7 @@ void disablesOverridenConstantColor() {
Mockito.doReturn(Level.DEBUG).when(event).getLevel();
Mockito.doReturn("test").when(event).getRenderedMessage();
MatcherAssert.assertThat(
"should equal to '[\\u001B[12mDEBUG\\u001B[m] \\u001B[12mtest\\u001B[m'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[\\u001B[12mDEBUG\\u001B[m] \\u001B[12mtest\\u001B[m"
Expand All @@ -188,6 +195,7 @@ void disablesOverridenConstantColor() {
);
try {
MatcherAssert.assertThat(
"should equals to '[DEBUG] test'",
StringEscapeUtils.escapeJava(layout.format(event)),
Matchers.equalTo(
"[DEBUG] test"
Expand Down
1 change: 0 additions & 1 deletion src/main/java/com/jcabi/log/DomDecor.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
import java.util.Formatter;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/jcabi/log/Logger.java
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ public static SupplierLogger withSupplier() {
* @throws IllegalAccessException If some problem
* @checkstyle ThrowsCountCheck (4 lines)
*/
@SuppressWarnings("PMD.AvoidAccessibilityAlteration")
private static void setFinalStatic(final Field field, final Object value)
throws NoSuchFieldException, IllegalAccessException {
field.setAccessible(true);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/jcabi/log/MulticolorLayout.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@
* &lt;groupId&gt;com.jcabi&lt;/groupId&gt;
* &lt;artifactId&gt;jcabi-log&lt;/artifactId&gt;
* &lt;/dependency&gt;</pre>
* @since 0.1.10
* @see <a href="http://en.wikipedia.org/wiki/ANSI_escape_code">ANSI escape code</a>
* @see <a href="http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html">PatternLayout from LOG4J</a>
* @see <a href="http://www.jcabi.com/jcabi-log/multicolor.html">How to use with Maven</a>
* @since 0.1.10
*/
@SuppressWarnings("PMD.NonStaticInitializer")
public final class MulticolorLayout extends EnhancedPatternLayout {
Expand Down
11 changes: 6 additions & 5 deletions src/main/java/com/jcabi/log/ObjectDecor.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,12 @@ private static final class ArrayFormatAction
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
public String run() {
final StringBuilder builder = new StringBuilder("[");
final Formatter formatter = new Formatter(builder);
for (final Object obj : this.array) {
new ObjectDecor(obj).formatTo(formatter, 0, 0, 0);
// @checkstyle MultipleStringLiteralsCheck (1 line)
builder.append(", ");
try (Formatter formatter = new Formatter(builder)) {
for (final Object obj : this.array) {
new ObjectDecor(obj).formatTo(formatter, 0, 0, 0);
// @checkstyle MultipleStringLiteralsCheck (1 line)
builder.append(", ");
}
}
builder.replace(builder.length() - 2, builder.length(), "]");
return builder.toString();
Expand Down
13 changes: 8 additions & 5 deletions src/main/java/com/jcabi/log/PreFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -142,17 +142,20 @@ private void process(final CharSequence fmt, final Object... args) {
++pos;
}
}
if (pos < args.length) {
this.validateArgumentCount(pos, args.length);
matcher.appendTail(buf);
this.format = buf.toString();
}

private void validateArgumentCount(final int pos, final int count) {
if (pos < count) {
throw new IllegalArgumentException(
String.format(
"There are %d parameter(s) but only %d format argument(s) were provided.",
args.length,
count,
pos
)
);
}
matcher.appendTail(buf);
this.format = buf.toString();
}

}
2 changes: 1 addition & 1 deletion src/main/java/com/jcabi/log/VerboseCallable.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@
*
* <p>This class is thread-safe.
*
* @since 0.16
* @param <T> Type of result
* @see VerboseThreads
* @since 0.16
* @link <a href="http://www.ibm.com/developerworks/java/library/j-jtp05236/index.html">Java theory and practice: Dealing with InterruptedException</a>
*/
@SuppressWarnings("PMD.DoNotUseThreads")
Expand Down
90 changes: 34 additions & 56 deletions src/main/java/com/jcabi/log/VerboseProcess.java
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ public VerboseProcess.Result waitFor() throws InterruptedException {
final ByteArrayOutputStream stdout = new ByteArrayOutputStream();
final ByteArrayOutputStream stderr = new ByteArrayOutputStream();
this.launchMonitors(done, stdout, stderr);
int code = 0;
final int code;
try {
code = this.process.waitFor();
} finally {
Expand Down Expand Up @@ -384,22 +384,6 @@ private Thread monitor(final InputStream input,
return thread;
}

/**
* Close quietly.
* @param res Resource to close
*/
private static void close(final Closeable res) {
try {
res.close();
} catch (final IOException ex) {
Logger.error(
VerboseProcess.class,
"Failed to close resource: %[exception]s",
ex
);
}
}

/**
* Stream monitor.
*
Expand Down Expand Up @@ -444,54 +428,48 @@ private static final class Monitor implements Callable<Void> {

@Override
public Void call() throws Exception {
final BufferedReader reader = new BufferedReader(
try (BufferedReader reader = new BufferedReader(
Channels.newReader(
Channels.newChannel(this.input),
VerboseProcess.UTF_8
)
);
try {
final BufferedWriter writer = new BufferedWriter(
));
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(this.output, VerboseProcess.UTF_8)
);
try {
while (true) {
if (Thread.interrupted()) {
Logger.debug(
VerboseProcess.class,
"Explicitly interrupting read from buffer"
);
break;
}
final String line = reader.readLine();
if (line == null) {
break;
}
Logger.log(
this.level, VerboseProcess.class,
">> %s", line
)
) {
while (true) {
if (Thread.interrupted()) {
Logger.debug(
VerboseProcess.class,
"Explicitly interrupting read from buffer"
);
writer.write(line);
writer.newLine();
break;
}
} catch (final ClosedByInterruptException ex) {
Thread.interrupted();
Logger.debug(
VerboseProcess.class,
"Monitor is interrupted in the expected way"
);
} catch (final IOException ex) {
Logger.error(
VerboseProcess.class,
"Error reading from process stream: %[exception]s",
ex
final String line = reader.readLine();
if (line == null) {
break;
}
Logger.log(
this.level, VerboseProcess.class,
">> %s", line
);
} finally {
VerboseProcess.close(writer);
this.done.countDown();
writer.write(line);
writer.newLine();
}
} catch (final ClosedByInterruptException ex) {
Thread.interrupted();
Logger.debug(
VerboseProcess.class,
"Monitor is interrupted in the expected way"
);
} catch (final IOException ex) {
Logger.error(
VerboseProcess.class,
"Error reading from process stream: %[exception]s",
ex
);
} finally {
VerboseProcess.close(reader);
this.done.countDown();
}
return null;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/jcabi/log/VerboseRunnable.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
*
* <p>This class is thread-safe.
*
* @since 0.1.3
* @see VerboseThreads
* @since 0.1.3
* @link <a href="http://www.ibm.com/developerworks/java/library/j-jtp05236/index.html">Java theory and practice: Dealing with InterruptedException</a>
*/
@SuppressWarnings("PMD.DoNotUseThreads")
Expand Down
32 changes: 11 additions & 21 deletions src/main/java/com/jcabi/log/VerboseThreads.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,11 @@
*
* <p>This class is thread-safe.
*
* @since 0.1.2
* @see VerboseRunnable
* @since 0.1.2
*/
@SuppressWarnings("PMD.DoNotUseThreads")
public final class VerboseThreads implements ThreadFactory {

/**
* Thread group.
*/
private final transient ThreadGroup group;

/**
* Prefix to use.
*/
Expand Down Expand Up @@ -146,32 +140,28 @@ public VerboseThreads(final Class<?> type) {
* Detailed constructor.
* @param pfx Prefix for thread names
* @param dmn Threads should be daemons?
* @param prt Default priority for all threads
* @param prt Default prt for all threads
*/
public VerboseThreads(final String pfx, final boolean dmn,
final int prt) {
public VerboseThreads(final String pfx, final boolean dmn, final int prt) {
this.prefix = pfx;
this.daemon = dmn;
this.priority = prt;
this.group = new VerboseThreads.Group(pfx);
this.number = new AtomicInteger(1);
}

@Override
public Thread newThread(final Runnable runnable) {
public Thread newThread(final Runnable rnbl) {
final Thread thread = new Thread(
this.group,
new VerboseThreads.Wrap(runnable)
);
thread.setName(
String.format(
"%s-%d",
this.prefix,
this.number.getAndIncrement()
)
rnbl,
String.format("%s-%d", this.prefix, this.number.getAndIncrement())
);
thread.setDaemon(this.daemon);
thread.setPriority(this.priority);
thread.setUncaughtExceptionHandler(
(t, e) -> Logger.warn(
this,
String.format("Thread %s threw an exception: %s", t.getName(), e.toString())
));
return thread;
}

Expand Down
Loading