`
zhaozhongwei
  • 浏览: 54051 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

source. and output.

阅读更多
The source and output properties in build.properties control the folders to be compiled and where to place the resulting output. The eclipse help briefly talks about it.
    * source.<library> - lists source folders that will be compiled (e.g. source.xyz.jar=src/, src-ant/). If the library is specified in your plug-in.xml or manifest.mf, the value should match it;
    * output.<library> - lists the output folder receiving the result of the compilation;


Source Folders and Output Folders

Source and Output folder have already been discussed in this post. Only the source folders gets compiled and the generated class files get stored in the corresponding output folder. A project can have one or more source folder. If a source folder does not have a output folder attached to it explicitly, its output will go to the default output folder. The .classpath file stores all this information.

source.. and output..

The real syntax is source.<library> and output.<library> where <library> is generally the name of the jar. Here the second dot signifies the default library. Any source folder assigned to it gets it output reside in the root when the plug-in is build. The output.. entry tells the PDE Build where to pick the classes for source.. from.

Typical entries look like this

source.. = src/
output.. = bin/

 

When a plug-in with above entries is build the structure of the plug-in jar will look like this
org.example.sample_1.0.0
│   plugin.xml
│
├───icons
│       sample.gif
│
├───META-INF
│       MANIFEST.MF
│
└───org
    └───example
        └───sample
            │   Activator.class
            │
            └───actions
                    SampleAction.class

 

More complex plug-ins have more than one source folder. org.eclipse.pde.core is one such plug-in. It is good practice to assign separate output folder for separate source folders. This is not mandatory.
Lets assume src and src_an are the two source folders and their corresponding output folders are bin and bin_ant . Then a build.properties like
source.. = src/
output.. = bin/
source.ant_tasks/anttasks.jar = src_ant/
output.ant_tasks/anttasks.jar = bin_ant/

will create a plug-in which will look something like this

org.example.sample_1.0.0
│   plugin.xml
│
├───ant_tasks
│       anttasks.jar
│
├───icons
│       sample.gif
│
├───META-INF
│       MANIFEST.MF
│
└───org
    └───example
        └───sample
            │   Activator.class
            │
            └───actions
                    SampleAction.class
The contents of the src_ant folder will get compiled and jared in to anttasks.jar inside ant_tasks folder because of the source.ant_tasks/anttasks.jar = src_ant/ entry.


Classpath vs source/output entries

The source folder and output folder information is already available in class path then why source/output entries are needed? The classpath entries are used to compile source code. But the PDE Build relies on the source/output entries while building (or exporting) the plug-ins. Suppose a plug-in A refers to a class C in plug-in B. Then while building the plug-in A PDE Build will look into build.properties of plug-in B to locate the C.class .


Rules of using source. and output. entries

  1. Every source folder should appear in a source. entry.
  2. A source folder can appear in one and only one source. entry.
  3. The source and output folders are specified as their path relative to the root of the project.
  4. All source folders whose output folder is same should belong to same source. entry.
  5. The corresponding output folders should be mentioned in the corresponding output.entry.
Note that should in above rules means that rule is a good practice and not an obligation but if not followed the result of PDE Build might be unexpected.
分享到:
评论

相关推荐

    source.rar

    1. **基本语法与结构**:在《source.rar》中,你将找到各种Verilog语句的实例,包括`module`声明、`input`和`output`端口定义、`wire`和`reg`类型、赋值操作符(如`和`=`)、条件语句(如`if...else`)、循环(如`...

    VBeeJ[VB代码转换工具]

    Select your source files, select the output directory for the converted files, then run. The output directory is the directory where VBeeJ For Java will put the converted files. It defaults to the ...

    FastReport VCL 6.6.12 Enterprise Full Source.rar

    * [Lazarus] Optmized MaxiCode output - Fixed bug with Mercator property * [Lazarus] Fixed modal dialogs in preview under linux GTK - Fixed Detail report bug when rebuilds report using ...

    Debugging with GDB --2007年

    2.1.3 Redirecting WDB input and output to a file . . . . . 2.2 Quitting GDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Shell commands . . . . . . . . . . . ....

    DebuggingWithGDB 6.8-2008

    4.6 Your Program’s Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Debugging an Already-running Process . . . . . . . . . . . . . . . . . . . . . . 4.8 Killing the Child ...

    IBM SPSS Modeler Source、Process和Output节点(中文).pdf

    根据提供的信息,我们可以了解到这份文档主要关注的是IBM SPSS Modeler 18.0版本中的三个核心节点:Source(源)、Process(处理)和Output(输出)。这些节点是构建数据分析流程的重要组成部分,对于进行高效的数据...

    Debugging with GDB --2001年5.3

    Your program’s input and output . . . . . . . . . . . . . . . . . . . . . . . . Debugging an already-running process . . . . . . . . . . . . . . . . . . . Killing the child process . . . . . . . . . ...

    cc2530_user_guide

    1.1.1 CPU and Memory ................................................................................................. 21 1.1.2 Clocks and Power Management ...............................................

    Error Correction coding——mathematical methods and algorithms

    Error Correction Coding - Mathematical Methods and Algorithms (Source Files Contained).pdf Error Correction Coding Mathematical Methods and Algorithms Todd K. Moon Utah State University @ E ! C I E N...

    CSBlog 1.0 源码_csblogv1_source.zip

    在这个压缩包中,包含的【博客空间]CSBlog 1.0 源码_csblogv1_source】是整个项目的完整代码,下面将对其中涉及的关键知识点进行详细介绍。 1. **ASP.NET Web Forms**:CSBlog 1.0 构建于ASP.NET Web Forms框架之上...

    Debugging with GDB --2003年6.0

    Your program’s input and output . . . . . . . . . . . . . . . . . . . . . . . . Debugging an already-running process . . . . . . . . . . . . . . . . . . . Killing the child process . . . . . . . . . ...

    最新版的DebuggingWithGDB7.05-2010

    4.6 Your Program’s Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Debugging an Already-running Process . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Killing the ...

    EhLib 6.3 Build 6.3.176 Russian version. Full source included.

    output them on screen and to printer. TPrinterPreview have all functions and properties as in TPrinter object. You can use TPrinterPreview object similarly of TPrinter except some details. In ...

    iso-iec 14496-10(3rd_2006-03-01)_MPEG4_AVC_H264.pdf

    Contents Page 0 Introduction................................6 Source, coded, decoded and output data formats, scanning processes, and neighbouring relationships.......... 14 6.1 Bitstream formats...........

    440_PLi_23708204_en_0106(参数表).pdf

    Block Diagram and Terminals ....................................................................7 1.1 Block Diagram ...................................................................................

    LVQ学习矢量化算法.rar_LVQ source code_LVQ-EXAMPLE_Vector Quantization_l

    Source code may be found in LVQ.CPP. Sample training data is found in LVQ1.PAT. Sample test data is found in LVQTEST1.TST and LVQTEST2.TST. The LVQ program accepts input consisting of vectors and ...

    Springer.The.Developer’s.Guide.to.Debugging.2008.pdf

    4.5 Combining Memory and Source Code Debuggers . . . . . . 40 4.6 Cutting Down the Noise – Suppressing Errors . . . . . . . 40 4.7 When to Use a Memory Debugger . . . . . . . 41 4.8 Restrictions . . ...

    Writing Testbenches using System Verilog

    Input and Output Vectors . . . . . . . . . 221 Golden Vectors . . . . 222 Self-Checking Operations . . . . . . . . . 224 Complex Stimulus . . . . . . . . . . . . 227 Feedback Between Stimulus and ...

Global site tag (gtag.js) - Google Analytics