Как я могу получить покрытие кода внешней библиотеки Java с помощью jacoco?

Если у меня есть проект Java, который использует библиотеку (файл jar ), возможно ли получить покрытие кода классов внутри этой банки?

Идея, стоящая за этим, заключается в том, что я хотел бы выяснить, какая доля внешних библиотек зависит от проекта (скажем, Spring, Hibernate или это могут быть банки scala, если это был проект scala, почему бы и нет )действительно используются. Я даже представляю, что я мог бы попытаться перечислить их и переупаковать в одну банку, которая содержала бы только необходимые файлы.class (с плагином типа apache felix, например )для получения наименьшего возможная баночка. Я не уверен, что действительно хочу это сделать, я знаю, что это, вероятно, плохая идея по ряду причин, но я думаю об этом как об эксперименте.

Я не могу найти, как это сделать, jacoco сообщает только о покрытии файлов классов непосредственно внутри моего проекта.Возможно, я делаю что-то не так, я использую плагин maven, подобный этому :

        
            org.jacoco
            jacoco-maven-plugin
            0.5.6.201201232323
            
                ${basedir}/target/coverage-reports/jacoco-unit.exec
                ${basedir}/target/coverage-reports/jacoco-unit.exec
                
                    **
                
            
            
                
                    jacoco-initialize
                    
                        prepare-agent
                    
                
                
                    jacoco-site
                    package
                    
                        report
                    
                
            
        

. Я пытался изменить тег включения, но единственным эффектом является ограничение значения по умолчанию, которое включает только файлы классов непосредственно внутри моего проекта.

Заранее спасибо!


Изменить после ответа oers:

Я узнал, как это сделать с плагином ant и antrun -, хотя это очень сложно, у меня были большие проблемы с версиями плагина antrun (не удалось сделать последнюю версию работать, даже для базовой задачи ), и я действительно хотел бы придерживаться Maven. Если кто-то знает, как сделать то же самое с плагином je jacoco maven вместо ant, мне интересно!

Частичное решение с ant :на самом деле файл jacoco.exec уже содержал ссылки на классы моих внешних jar-файлов; поэтому следует сказать, что задача отчета должна учитывать эти банки, а не фаза выполнения, как я думал. Вот конфигурация maven, которую я использовал (Я нашел справку поhttp://intellectualcramps.wordpress.com/2012/03/22/jacoco-tycho-and-coverage-reports/):

        
            org.apache.maven.plugins
            maven-antrun-plugin
            
            
                
                    org.jacoco
                    org.jacoco.ant
                    0.5.6.201201232323
                
                
                    ant-contrib
                    ant-contrib
                    20020829
                
            
            
                
                    jacoco-report
                    package
                    
                        run
                    
                    
                        

                            
                            
                            
                            
                            
                                
                                
                                    

                                    
                                        
                                            
                                                
                                                    
                                                

                                                
                                                    
                                                        

                                                        
                                                            
                                                        

                                                    

                                                    
                                                        
                                                    
                                                
                                                
                                                
                                            
                                        
                                        
                                            skipping
                                        
                                    
                                
                                
                                    
                                
                            
                        
                    
                
            
        

9
задан Guillaume 19 April 2012 в 10:06
поделиться