From 2813845e0783c536d44fe23b668949f62eeb5447 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 14 Aug 2007 00:48:04 +0000
Subject: [PATCH] Add some missing package-info.java files, and add a unit test to ensure that these files are properly created from now on.
---
opendj-sdk/opends/src/server/org/opends/server/workflowelement/package-info.java | 36 +++
opendj-sdk/opends/src/build-tools/javax/jnlp/package-info.java | 38 +++
opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/package-info.java | 36 +++
opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/package-info.java | 37 +++
opendj-sdk/opends/src/build-tools/org/opends/build/tools/package-info.java | 36 +++
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/util/PackageInfoTestCase.java | 408 ++++++++++++++++++++++++++++++++++
opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/package-info.java | 37 +++
opendj-sdk/opends/src/server/org/opends/server/synchronization/plugin/package-info.java | 38 +++
8 files changed, 666 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/src/build-tools/javax/jnlp/package-info.java b/opendj-sdk/opends/src/build-tools/javax/jnlp/package-info.java
new file mode 100644
index 0000000..f32414f
--- /dev/null
+++ b/opendj-sdk/opends/src/build-tools/javax/jnlp/package-info.java
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package provides a set of source file stubs for files that are part of
+ * the javax.jnlp package and are needed in order to build QuickSetup (and
+ * potentially other utilities accessible via Java Web Start). This code is not
+ * actually used in any way other than to allow other code to compile, nor
+ * should it be included in any JAR files or other bundles that we ship.
+ */
+package javax.jnlp;
+
diff --git a/opendj-sdk/opends/src/build-tools/org/opends/build/tools/package-info.java b/opendj-sdk/opends/src/build-tools/org/opends/build/tools/package-info.java
new file mode 100644
index 0000000..3ed9595
--- /dev/null
+++ b/opendj-sdk/opends/src/build-tools/org/opends/build/tools/package-info.java
@@ -0,0 +1,36 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package contains source for a number of tools that are used in some way
+ * during the OpenDS build process. This includes custom Ant tasks, utilities
+ * to format schema files, and to facilitate running server unit tests.
+ */
+package org.opends.build.tools;
+
diff --git a/opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/package-info.java b/opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/package-info.java
new file mode 100644
index 0000000..c743d7c
--- /dev/null
+++ b/opendj-sdk/opends/src/dsml/org/opends/dsml/protocol/package-info.java
@@ -0,0 +1,37 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package contains source for a Web application that may be used as a
+ * DSML-to-LDAP gateway. It accepts requests from DSMLv2 clients, forwards them
+ * as LDAPv3 requests to a directory server, and converts the LDAPv3 response
+ * back to a DSMLv2 response that is sent back to the client.
+ */
+package org.opends.dsml.protocol;
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/package-info.java b/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/package-info.java
new file mode 100644
index 0000000..4c7ffdc
--- /dev/null
+++ b/opendj-sdk/opends/src/server/org/opends/server/admin/client/cli/package-info.java
@@ -0,0 +1,37 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * Command-line interface code for common client-side administration classes.
+ * <p>
+ * This package contains classes which client applications and client-side
+ * driver implementations are expected to use for their command-line interfaces.
+ */
+package org.opends.server.admin.client.cli;
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/synchronization/plugin/package-info.java b/opendj-sdk/opends/src/server/org/opends/server/synchronization/plugin/package-info.java
new file mode 100644
index 0000000..ea18dc8
--- /dev/null
+++ b/opendj-sdk/opends/src/server/org/opends/server/synchronization/plugin/package-info.java
@@ -0,0 +1,38 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package contains a matching rule needed for legacy support for a
+ * comparator needed by a replication changelog database that used older
+ * versions of the synchronization plugin. The classes in this package are
+ * only provided for historical reasons, and all active code can be found in the
+ * org.opends.server.replication package and its sub-packages.
+ */
+package org.opends.server.synchronization.plugin;
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/package-info.java b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/package-info.java
new file mode 100644
index 0000000..bc6c4a4
--- /dev/null
+++ b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/package-info.java
@@ -0,0 +1,36 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package contains source for the local backend workflow element, which
+ * are used to process operations against data stored in local backend databases
+ * and other repositories that are considered "local".
+ */
+package org.opends.server.workflowelement.localbackend;
+
diff --git a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/package-info.java b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/package-info.java
new file mode 100644
index 0000000..6fa597c
--- /dev/null
+++ b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/package-info.java
@@ -0,0 +1,36 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+
+
+
+/**
+ * This package contains source for workflow elements used within the server.
+ * Different kinds of workflow elements are needed for different server roles
+ * (e.g., local data storage, proxy/distribution/virtual access, etc.).
+ */
+package org.opends.server.workflowelement;
+
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/util/PackageInfoTestCase.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/util/PackageInfoTestCase.java
new file mode 100644
index 0000000..118d32b
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/util/PackageInfoTestCase.java
@@ -0,0 +1,408 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ * Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ * Portions Copyright 2007 Sun Microsystems, Inc.
+ */
+package org.opends.server.util;
+
+
+
+import java.io.File;
+import java.util.ArrayList;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import org.opends.server.TestCaseUtils;
+
+import static org.testng.Assert.*;
+
+
+
+/**
+ * This class provides a test case that can be used to ensure that all source
+ * packages also include a package-info.java file with javadoc and annotation
+ * information about that package.
+ */
+public class PackageInfoTestCase
+ extends UtilTestCase
+{
+ // The directory that serves as the top-level source root.
+ private File sourceRoot;
+
+
+
+ /**
+ * Ensure that the source root directories are initialized properly.
+ */
+ @BeforeClass()
+ public void setUp()
+ {
+ String rootDir = System.getProperty(TestCaseUtils.PROPERTY_BUILD_ROOT);
+ assertNotNull(rootDir);
+
+ File buildRoot = new File(rootDir);
+ assertTrue(buildRoot.exists());
+
+ sourceRoot = new File(buildRoot, "src");
+ assertTrue(sourceRoot.exists());
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain ADS
+ * source.
+ *
+ * @return A set of File objects that point to directories that contain ADS
+ * source.
+ */
+ @DataProvider(name = "adsSourceDirectories")
+ public Object[][] getADSSourceDirectories()
+ {
+ File adsSourceRoot = new File(sourceRoot, "ads");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(adsSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * admin source.
+ *
+ * @return A set of File objects that point to directories that contain
+ * admin source.
+ */
+ @DataProvider(name = "adminSourceDirectories")
+ public Object[][] getAdminSourceDirectories()
+ {
+ File adminSourceRoot = new File(sourceRoot, "admin");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(adminSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * build tools source.
+ *
+ * @return A set of File objects that point to directories that contain build
+ * tools source.
+ */
+ @DataProvider(name = "buildToolsSourceDirectories")
+ public Object[][] getBuildToolsSourceDirectories()
+ {
+ File buildToolsSourceRoot = new File(sourceRoot, "build-tools");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(buildToolsSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * DSML gateway source.
+ *
+ * @return A set of File objects that point to directories that contain
+ * DSML gateway source.
+ */
+ @DataProvider(name = "dsmlSourceDirectories")
+ public Object[][] getDSMLSourceDirectories()
+ {
+ File dsmlSourceRoot = new File(sourceRoot, "dsml");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(dsmlSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * GUI tools source.
+ *
+ * @return A set of File objects that point to directories that contain
+ * GUI tools source.
+ */
+ @DataProvider(name = "guiToolsSourceDirectories")
+ public Object[][] getGUIToolsSourceDirectories()
+ {
+ File guiToolsSourceRoot = new File(sourceRoot, "guitools");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(guiToolsSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * QuickSetup source.
+ *
+ * @return A set of File objects that point to directories that contain
+ * server source.
+ */
+ @DataProvider(name = "quickSetupSourceDirectories")
+ public Object[][] getQuickSetupSourceDirectories()
+ {
+ File quickSetupSourceRoot = new File(sourceRoot, "quicksetup");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(quickSetupSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Retrieves a set of File objects that point to directories that contain
+ * server source.
+ *
+ * @return A set of File objects that point to directories that contain
+ * server source.
+ */
+ @DataProvider(name = "serverSourceDirectories")
+ public Object[][] getServerSourceDirectories()
+ {
+ File serverSourceRoot = new File(sourceRoot, "server");
+ ArrayList<File> sourceDirs = new ArrayList<File>();
+ getSourceDirectories(serverSourceRoot, sourceDirs);
+
+ Object[][] returnArray = new Object[sourceDirs.size()][1];
+ for (int i=0; i < returnArray.length; i++)
+ {
+ returnArray[i][0] = sourceDirs.get(i);
+ }
+
+ return returnArray;
+ }
+
+
+
+ /**
+ * Recursively descends the filesystem structure, identifying directories that
+ * contain Java source code and adding them to the provided list.
+ *
+ * @param startingPoint The directory that marks the starting point at
+ * which to begin.
+ * @param sourceDirectories The list of identified source directories, to
+ * which any new source directories will be added.
+ */
+ private void getSourceDirectories(File startingPoint,
+ ArrayList<File> sourceDirectories)
+ {
+ boolean added = false;
+ for (File f : startingPoint.listFiles())
+ {
+ if (f.isDirectory())
+ {
+ if (! f.getName().equals(".svn"))
+ {
+ getSourceDirectories(f, sourceDirectories);
+ }
+ }
+ else if (f.isFile() && f.getName().endsWith(".java"))
+ {
+ if (! added)
+ {
+ sourceDirectories.add(startingPoint);
+ added = true;
+ }
+ }
+ }
+ }
+
+
+
+ /**
+ * Ensure that all ADS source file packages include a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(enabled=false, dataProvider="adsSourceDirectories")
+ public void testADSPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all admin source file packages include a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(dataProvider="adminSourceDirectories")
+ public void testAdminPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all build tools source file packages include a
+ * package-info.java file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(dataProvider="buildToolsSourceDirectories")
+ public void testBuildToolsPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all DSML gateway source file packages include a
+ * package-info.java file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(dataProvider="dsmlSourceDirectories")
+ public void testDSMLPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all GUI tools source file packages include a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(enabled=false, dataProvider="guiToolsSourceDirectories")
+ public void testGUIToolsPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all QuickSetup source file packages include a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(enabled=false, dataProvider="quickSetupSourceDirectories")
+ public void testQuickSetupPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that all server source file packages include a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory for which to make the determination.
+ */
+ @Test(dataProvider="serverSourceDirectories")
+ public void testServerPackageInfoExists(File sourceDirectory)
+ throws Exception
+ {
+ checkPackageInfoFileExistsInternal(sourceDirectory);
+ }
+
+
+
+ /**
+ * Ensure that the provided source directory contains a package-info.java
+ * file.
+ *
+ * @param sourceDirectory The directory in which to verify the existence of
+ * a package-info.java file.
+ */
+ private void checkPackageInfoFileExistsInternal(File sourceDirectory)
+ {
+ assertTrue(sourceDirectory.exists());
+ assertTrue(sourceDirectory.isDirectory());
+
+ File packageInfoFile = new File(sourceDirectory, "package-info.java");
+ assertTrue(packageInfoFile.exists(),
+ "Source directory " + sourceDirectory.getAbsolutePath() +
+ " does not contain a package-info.java file.");
+ }
+}
+
--
Gitblit v1.10.0