blob: fb6662256727de31a74889399edeaa92ff7c388f [file] [log] [blame]
/*
* Copyright (c) 2012 Eike Stepper (Berlin, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.releng;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashSet;
import java.util.Set;
/**
* @author Eike Stepper
*/
public class PrintUnpublishedComponents
{
public static final String DROP = "I20120914-0410";
private static final Set<String> features = new HashSet<String>()
{
private static final long serialVersionUID = 1L;
@Override
public String toString()
{
return " (feature)";
}
};
private static final Set<String> plugins = new HashSet<String>()
{
private static final long serialVersionUID = 1L;
@Override
public String toString()
{
return " (plugin)";
}
};
public static void main(String[] args) throws IOException
{
initDrop();
checkComponents("../../features", features);
checkComponents("../../plugins", plugins);
}
private static void initDrop() throws MalformedURLException, IOException
{
URL url = new URL("http://download.eclipse.org/modeling/emf/cdo/drops/" + DROP + "/index.xml");
InputStream stream = url.openStream();
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = reader.readLine()) != null)
{
String prefix = "<element name=\"";
int start = line.indexOf(prefix);
if (start != -1)
{
line = line.substring(start + prefix.length());
if (line.endsWith("type=\"org.eclipse.update.feature\"/>"))
{
features.add(line.substring(0, line.indexOf('"')));
}
else if (line.endsWith("type=\"osgi.bundle\"/>"))
{
plugins.add(line.substring(0, line.indexOf('"')));
}
}
}
}
finally
{
if (stream != null)
{
stream.close();
}
}
}
private static void checkComponents(String folder, Set<String> publishedComponents)
{
for (File file : new File(folder).listFiles())
{
String id = file.getName();
if (id.equals("org.eclipse.emf.cdo.site-feature") || id.equals("org.eclipse.emf.cdo.license-feature"))
{
continue;
}
final String FEATURE_SUFFIX = "-feature";
if (id.endsWith(FEATURE_SUFFIX))
{
id = id.substring(0, id.length() - FEATURE_SUFFIX.length());
}
if (!publishedComponents.contains(id))
{
System.out.println(id + publishedComponents);
}
}
}
}