Quantidade de Linhas de um projeto

Alguém por acaso sabe como conseguir a quantidade de linhas de um projeto?
Estou utilizando o Eclipse, mas se for preciso utilizar alguma outra ferramenta também poderei utilizar.

Ouvi falar uma vez de um plug-in para Eclipse chamado metrics, ou algo assim… acho que ele deje no mínimo ajudar

Se tu usa cvs, da uma olhada nesse aqui

http://statcvs.sourceforge.net/

isso tb deve funcionar

find ~/workspace/projeto -name "*.java" -exec wc {} \; | perl -e '$linhas = 0; while(<>){ $linhas += $_ } print "$linhas\n";'

:slight_smile:

Você poderia contar as linhas de todos os arquivos abaixo do seu diretorio de fontes…

package util;

import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.*;


public class ContaLinhas 
{
	StringBuffer str_entrada = new StringBuffer("");
	long linhas_total = 0 ;
	long linhas_programa = 0;
	

	public void execute() {
		
	}
	
	public void clearCommArea() {
		this.str_entrada= new StringBuffer("");
	}
	
	public ContaLinhas(String caminho) {
		try{

			File dir = new File(caminho);
	        	File[] files = dir.listFiles();
				        

			for(int i=0;i<files.length;i++)
			{
				int l1 = 0;
				
				File f=new File(files[i].getPath());
				BufferedReader arquivo=new BufferedReader(new FileReader(f));
				StringBuffer str = new StringBuffer();
					
				String s;
				while((s=arquivo.readLine())!=null)
				{
					str.append(s);
					l1 = l1 +1;
				}
				linhas_programa = l1;
				linhas_total = linhas_total + l1;				
				
				System.out.println("Programa   - \t " + files[i].getPath() + ": \t" + linhas_programa);
				linhas_programa = 0;
			}
				System.out.println("Total      - \t " + caminho +" : \t"  + linhas_total);
			
		}
		catch (Exception e)
		{
			System.out.println(e.toString());
			return;
		}
	}
	/**
	 * Returns the linhas_programa.
	 * @return long
	 */
	public long getLinhas_programa()
	{
		return linhas_programa;
	}

	/**
	 * Returns the linhas_total.
	 * @return long
	 */
	public long getLinhas_total()
	{
		return linhas_total;
	}

	/**
	 * Sets the linhas_programa.
	 * @param linhas_programa The linhas_programa to set
	 */
	public void setLinhas_programa(long linhas_programa)
	{
		this.linhas_programa = linhas_programa;
	}

	/**
	 * Sets the linhas_total.
	 * @param linhas_total The linhas_total to set
	 */
	public void setLinhas_total(long linhas_total)
	{
		this.linhas_total = linhas_total;
	}

}

se não tiver como usar filtros unix como FLC sugeriu.

Abraços

[quote=fmeyer]
pq nao usar apenas ?

find . -name "*.rb" | wc -l [/quote]

a mirabolancia em Perl não ficou lá muito elegante, mas do jeito que vc sugeriu apenas calcula-se o número de arquivos do projeto e não a quantidade de linhas. Talvez desse para usar awk, ou quem sabe ainda outra solução, mas essa foi a primeira que imaginei.

[quote=FLC][quote=fmeyer]
pq nao usar apenas ?

find . -name "*.rb" | wc -l [/quote]

a mirabolancia em Perl não ficou lá muito elegante, mas do jeito que vc sugeriu apenas calcula-se o número de arquivos do projeto e não a quantidade de linhas. Talvez desse para usar awk, ou quem sabe ainda outra solução, mas essa foi a primeira que imaginei.[/quote]

cometi um erro :oops: , copiei a linha errada do bash …
o codigo que eu ia postar era esse

wc -l `find . -name "*.rb"`

haha!!
não sabia que usando assim ele imprimia o total tb. Bem melhor
:smiley: