You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@htrace.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2015/06/12 20:03:02 UTC

[jira] [Commented] (HTRACE-183) Have go build into the target dir rather than under src

    [ https://issues.apache.org/jira/browse/HTRACE-183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14583801#comment-14583801 ] 

Colin Patrick McCabe commented on HTRACE-183:
---------------------------------------------

Hmm.  Nice effort.

I don't like depending on rsync... is that even guaranteed to be installed?  In general, I'd prefer not to copy things around since it makes the build slower.  I know we're all on super-fast SSDs these days, but copying around the source tree still takes time, and generates wear on the disk.

Unfortunately, I don't have any ideas about how to get rid of the phantom pkg directory.  That's the kind of thing I ran into last time I tried to rearrange this.  It's sort of hard to articulate but poking at the Go build is a lot like trying to teach Maven new tricks.  It has a way it wants to do things and you sort of need to do them that way.

Building the htrace command and htraced together was indeed deliberate.  In general, the "go build ..." (three dots at end) construct is really nice since it builds unit tests in every package (otherwise you'd have to manually list all packages).  Similar with "go test ..." and etc.  When we were listing all build products, we found that "go test" was ignoring certain unit tests when their packages were not listed.  Using the three dots means this is never a problem.

It seems like maybe we're making a heroic effort to make this look like a Java build directory that we don't really need to make.  How about a compromise solution... moving {{htrace-htraced/src/go}} to {{htrace-htraced/go}}.  Then we don't have build products in the {{src}} directory. (they'd be in {{htrace-htraced/go/build}}, {{htrace-htraced/go/pkg}}.  Sources would all be under {{htrace-htraced/go/src}}, seems pretty straightforward.  Arguably, this is more familiar to go programmers than using {{target}} (which is a Maven-ism)

> Have go build into the target dir rather than under src
> -------------------------------------------------------
>
>                 Key: HTRACE-183
>                 URL: https://issues.apache.org/jira/browse/HTRACE-183
>             Project: HTrace
>          Issue Type: Task
>            Reporter: stack
>         Attachments: 183.txt, 183v2.txt
>
>
> Go creates a build subdir in the src subtree and then creates its binaries therein. Instead have it make a mess over in the target dir.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)