Plexus-utils (see site and javadoc) is used everywhere on Maven but is a legacy component. Most of its features is available using Apache Commons.

Strategy

plexus-utils-commons-bridge is a compatibility layer to ensure backward compatibility, so that we can deprecate plexus-utils.

For first release, we need to have a drop in replacement that works exactly the same as the original... that gives us a way to kill the old version (otherwise people will just say, "I'm not going to fix my code when it works fine with plexus utils... ok maybe I'll fix it later").

We will mark every method and class in the bridge as deprecated, but we need the recommendations for each replacement to put in the deprecated tags.

For the second release we flip the @reproducesplexusbug rule and fix all those test cases.

For the third release, everything is deprecated.

Update

As we needed a few enhancements and bug fixes for the incremental build support, we moved utility classes we already had in Apache land over to MavenSharedUtils.

Work In Progess

Pick a plexus-utils class, and start creating tests... better still write the tests black box (that's what I am doing!)

Then when you have some tests written in the TCK module, create the implementation class with all the methods:

throw new UnsupportedOperationException( "Not implemented yet!" );

and then you can knock off implementations and see your test pass rate rise in the bridge module.

To stake your claim, commit the test case class first and then (unless you tell us otherwise) you are working on that class!

Class

TCK test

Compatible class

org.codehaus.plexus.util

 

 

AbstractScanner

 

 

Base64

WIP
need to cover plexus bugs regarding system encoding

nicolas did some basic version working by but canceled to support legacy plexus bugs

CachedMap

 

 

CollectionUtils

 

 

DirectoryScanner

 

 

DirectoryWalker

 

 

DirectoryWalkListener

 

 

ExceptionUtils

 

 

Expand

 

 

FastMap

 

 

FileUtils

WIP stephenc

WIP stephenc

FileUtils.FilterWrapper

 

 

InterpolationFilterReader

 

 

IOUtil

DONE

DONE

LineOrientedInterpolatingReader

 

 

Os

 

 

PathTool

 

 

PropertyUtils

DONE

WIP - stephenc

ReaderFactory

na

DONE (copied my work)

ReflectionUtils

 

 

Scanner

 

 

SelectorUtils

 

 

StringInputStream

 

 

StringOutputStream

 

 

StringUtils

 

 

SweeperPool

 

 

TypeFormat

 

 

WriterFactory

na

DONE (copied my work)/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

org.codehaus.plexus.util.cli

 

 

Arg

 

 

Commandline

 

 

Commandline.Argument

 

 

CommandLineException

 

 

CommandLineTimeOutException

 

 

CommandLineUtils

 

 

CommandLineUtils.StringStreamConsumer

 

 

DefaultConsumer

 

 

EnhancedStringTokenizer

 

 

StreamConsumer

 

 

StreamFeeder

 

 

StreamPumper

 

 

WriterStreamConsumer

 

 

org.codehaus.plexus.util.cli.shell

 

 

BourneShell

 

 

CmdShell

 

 

CommandShell

 

 

Shell

 

 

org.codehaus.plexus.util.dag

 

 

CycleDetectedException

 

 

CycleDetector

 

 

DAG

 

 

TopologicalSorter

 

 

Vertex

 

 

org.codehaus.plexus.util.introspection

 

 

ClassMap

 

 

MethodMap

 

 

MethodMap.AmbiguousException

 

 

ReflectionValueExtractor

 

 

org.codehaus.plexus.util.io

 

 

RawInputStreamFacade

 

 

FileInputStreamFacade

 

 

InputStreamFacade

 

 

URLInputStreamFacade

 

 

org.codehaus.plexus.util.reflection

 

 

Reflector

DONE

DONE

ReflectorException

 

 

org.codehaus.plexus.util.xml

 

 

CompactXMLWriter

 

 

PrettyPrintXMLWriter

 

 

SerializerXMLWriter

 

 

XmlReader

na

DONE

XmlReaderException

na

DONE

XmlStreamReader

DONE

DONE

XmlStreamReaderException

na

DONE

XmlStreamWriter

DONE

DONE

XmlUtil

 

 

XMLWriter

 

 

XmlWriterUtil

 

 

Xpp3Dom

 

 

Xpp3DomBuilder

 

 

Xpp3DomUtils

 

 

Xpp3DomWriter

 

org.codehaus.plexus.util.xml.pull

 

 

MXParser

 

 

MXSerializer

 

 

XmlPullParser

 

 

XmlPullParserException

 

 

XmlSerializer

 

 

  • No labels