# Builds by Ant

**URL:** <https://discuss.circleci.com/t/builds-by-ant/23504>\
**Category:** Build Environment\
**Tags:** circle-yml\
**Created:** [July 10, 2018, 8:32am UTC](https://discuss.circleci.com/t/builds-by-ant/23504 "2018-07-10T08:32:51Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![a4ankit](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/a4ankit/32/18661_2.png) [@a4ankit](https://discuss.circleci.com/u/a4ankit)\
**Post date:** [July 10, 2018, 8:32am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/1 "2018-07-10T08:32:51Z")

</div>

Hi,

I am using Ant for builds but as per version 2.0, I am not able to write proper command for that. Currently, I’m using this command  
ant -lib lib/ Build

But it saying on commiting /bin/bash: ant: command not found

Please help me.

---

<div class="post-metadata">

**Author:** ![KyleTryon](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/kyletryon/32/9977_2.png) [@KyleTryon](https://discuss.circleci.com/u/KyleTryon)\
**Post date:** [July 10, 2018, 1:28pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/2 "2018-07-10T13:28:40Z")

</div>

Hello,

I think what is likely happening is you are installing `ant` in one `run` statement and utilizing it in another. In your `config.yml`, every `run` uses `/bin/bash -eo pipefail` as it’s default shell, which does not possess the `--login` switch.

[https://circleci.com/docs/2.0/configuration-reference/#default-shell-options](https://circleci.com/docs/2.0/configuration-reference/#default-shell-options)

You can modify the shell so that it is a `login` shell as stated in the docs above, or run the install and following command in a single, multi-line run statement.

---

<div class="post-metadata">

**Author:** ![a4ankit](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/a4ankit/32/18661_2.png) [@a4ankit](https://discuss.circleci.com/u/a4ankit)\
**Post date:** [August 8, 2018, 8:33am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/3 "2018-08-08T08:33:02Z")

</div>

Hi Kyle,  
Thanks for your response but That could not work for me. As I am using this command for 1.0 working fine for me

test:  
override:  
- ant -lib lib/ Build:  
timeout: 600  
How can I convert it into 2.0

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 7, 2018, 7:05am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/4 "2018-09-07T07:05:38Z")

</div>

**I am facing exact same issue as well.** I could not find any solution yet!

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 7, 2018, 7:06am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/5 "2018-09-07T07:06:15Z")

</div>

Please provide the solution for that.

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [September 7, 2018, 7:36am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/6 "2018-09-07T07:36:30Z")

</div>

> [@mukesh](#):
>
> I am facing exact same issue as well. I could not find any solution yet!

What code do you have, what errors are you getting? The first post suffers from being rather unclear, so someone somewhere is going to have to give a clear and detailed explanation 😜

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 7, 2018, 1:56pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/7 "2018-09-07T13:56:57Z")

</div>

I was using this 1.0 config -

```
     machine:
          node:
            version: 4.1.0
          java:
            version: oraclejdk8
        dependencies:
          override:
            - npm install -g gulp
            - npm install -g bower
            - npm install
            - bower install
            - gulp sf-bundle:spa
        test:
          override:
            - ant -lib lib/ -buildfile build/build.xml Build: 
                pwd: ../../
                timeout: 600
        general:
          build_dir: project/src
          branches:
            ignore:
                - dev.eblazer

```

I have converted into 2.0 like -

```
version: 2.0
jobs:
  build:
    docker: 
      - image: circleci/node:4.8.2
      - image: circleci/java:8-jdk
    steps:
      - checkout

      - run:
          name: Install -g gulp
          command: sudo npm install -g gulp

      - run:
          name: Install -g bower
          command: sudo npm install -g bower  

      - run:
          name: npm Install
          command: sudo npm install
          working_directory: project/src 

      - run:
          name: bower Install
          command: bower install
          working_directory: project/src
      - run: 
          name: ant -lib lib/ -buildfile build/build.xml
          command: ant -lib lib/ -buildfile build/build.xml

```

Please see attached screenshot for the issue detail -

 ![circleci-errors](https://global.discourse-cdn.com/circleci/original/3X/4/c/4c76582e354042cba47924a0d997f4657cdb6712.png)

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [September 7, 2018, 2:07pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/8 "2018-09-07T14:07:51Z")

</div>

Hmm, do you need to install Ant explicitly? If not, find out where it is being installed (e.g. if it is part of the JDK) and call it `/with/the/full/path/to/ant`.

You can get an SSH session on a failed build to have a poke around, if that is helpful.

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 7, 2018, 2:25pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/9 "2018-09-07T14:25:03Z")

</div>

> [@mukesh](#):
>
> ant -lib lib/ -buildfile build/build.xml

**lib/** is the path of ant which contains **ant-salesforce.jar** file

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [September 7, 2018, 2:26pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/10 "2018-09-07T14:26:00Z")

</div>

No no, it’s having trouble finding `ant` itself. You need to find that binary, assuming it is installed at all.

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 7, 2018, 2:39pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/11 "2018-09-07T14:39:15Z")

</div>

You can see in screenshot, **circleci/java:8-jdk** could not be installed. You know, ant could not be run without **java jre**.

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [September 7, 2018, 2:43pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/12 "2018-09-07T14:43:13Z")

</div>

I am not sure what you are saying. Are you saying that you _know_ this container has a copy of Ant? I do not share your confidence, and I think the next thing that **you need to do** is to SSH into the running container and have a look. Would you try that now?

(One important thing with CI, and indeed coming here for help, is that folks with a problem need to be persistent and highly self-directed. Statements that amount to “it does not work” are not likely to attract more assistance. 🙂)

---

<div class="post-metadata">

**Author:** ![halfer](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/halfer/32/9083_2.png) [@halfer](https://discuss.circleci.com/u/halfer)\
**Post date:** [September 7, 2018, 3:09pm UTC](https://discuss.circleci.com/t/builds-by-ant/23504/13 "2018-09-07T15:09:59Z")

</div>

Oh, just spotted this:

```auto
      - image: circleci/node:4.8.2
      - image: circleci/java:8-jdk

```

This means:

- Node is your primary build container
- Java JDK is your secondary build container, which you can contact over HTTP (if there is a server running)

So, the question is, does the `circleci/node` image contain Ant? My guess is that the JDK image is spinning up and then doing nothing.

You may find some benefit in explaining what you’re trying to do with these images.

---

<div class="post-metadata">

**Author:** ![mukesh](https://avatars.discourse-cdn.com/v4/letter/m/aeb1de/32.png) [@mukesh](https://discuss.circleci.com/u/mukesh)\
**Post date:** [September 10, 2018, 10:52am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/14 "2018-09-10T10:52:44Z")

</div>

Thanks! I got the hint to solve this issue.  
I need to user docker image `circleci/java:8-jdk`, which will make environment to run `ant`. And to work with the node module, I will manually install node. Now, updated `config.yml`

```
version: 2.0
jobs:
  build:
    docker:
      - image: circleci/openjdk:8-jdk
    steps:
      - checkout
      - run:
          name: Download Node
          command: curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash

      - run:
          name: Install Node
          command: sudo apt-get install -y nodejs    

      - run:
          name: Install -g gulp
          command: sudo npm install -g gulp

      - run:
          name: Install -g bower
          command: sudo npm install -g bower  

      - run:
          name: npm Install
          command: sudo npm install
          working_directory: src/project 

      - run:
          name: bower Install
          command: bower install
          working_directory: src/project
      
      - run: 
          name: ant -lib lib/ -buildfile build/build.xml
          command: ant -lib lib/ -buildfile build/build.xml
```

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [December 9, 2018, 10:52am UTC](https://discuss.circleci.com/t/builds-by-ant/23504/15 "2018-12-09T10:52:45Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
