2013-12-17 18 views
6

Tôi có môi trường công ty với tất cả các cuộc gọi http và https nằm sau proxy.Chạy Robolectric ở IDEA phía sau proxy

Tôi có thể khắc phục một số sự cố với tải xuống dòng lệnh bằng cách đặt xuất biến môi trường http_proxy vào tệp .profile.

Nhưng với Robolectric 2.2 đang tải xuống nguồn hoặc lớp Android trước khi chạy lần đầu tiên tôi không thành công. Tôi chưa có thiết lập CI nên tôi chỉ cố chạy thử nghiệm từ ý tưởng.

Có ai biết nóng để khắc phục sự cố không?

Tôi đã cố cung cấp proxy trong cài đặt IDEA, tôi đã cố gắng cung cấp biến môi trường bổ sung trong cấu hình chạy. Không có gì giúp

UPD Khi tôi chỉ định ủy quyền trong cài đặt Mac nó được sản xuất một lỗi: Không tìm thấy tài nguyên 'org.sonatype.oss: oss-mẹ: pom: 7' trong kho sonatype (https://oss.sonatype.org/content/groups/public/)

(lọ tôi không sử dụng maven hoặc ivy, tôi vừa mới tải về từ maven trung ương)

Dường như tôi có thể sử dụng hoặc thiếu sự phụ thuộc sai bắc cầu cho Robolectirc

UPD2 Nope, Nó là chỉ hết thời gian chờ: Lỗi chuyển file: Operation timed out

Trả lời

6

Tôi biết rằng đây là một câu hỏi cũ một chút nhưng nếu bạn muốn sử dụng proxy, bạn nên đặt các tập tin sau đây trong home/thư mục .m2 của bạn:

thiết lập .xml

<settings> 
    <proxies> 
     <proxy> 
      <active>true</active> 
      <protocol>http</protocol> 
      <host>your_host_here</host> 
      <port>your_port_here</port> 
     </proxy> 
    </proxies> 
</settings> 

Đối với cái nhìn gradle đây https://docs.gradle.org/current/userguide/build_environment.html

+0

Xin cảm ơn bạn đã trả lời. Tôi sẽ kiểm tra và cho bạn biết –

+0

@EugenMartynov Công việc này có phù hợp với bạn không? –

+0

Không thể thay đổi công việc :) –

0

Trong trường hợp này giúp ai đó. Đặt proxy trong tệp settings.xml (tôi đã thử cả hai đường dẫn có thể cho tệp này) không hoạt động đối với tôi. Tôi đã kết thúc việc đó dưới dạng đối số gradle: gradle cleanTest test -Dhttps.proxyHost=<proxy-host> -Dhttps.proxyPort=<proxy-port>

+0

Điều này không hiệu quả vì câu trả lời của tôi là về robolectric sử dụng bình nguyên liệu hoặc maven. Tôi đã cập nhật câu trả lời của mình – Gaskoin

1

Để thêm một câu trả lời trễ khác cho câu hỏi cũ :) Vì Robolectric 2.4 hai thuộc tính được giới thiệu để trợ giúp trong trường hợp khi kiểm tra Robolectric trong CI chạy sau máy chủ proxy :

Bạn phải chỉ định robolectric.offlinerobolectric.dependency.dir trong tệp build.gradle của mình. Một cái gì đó như thế này:

afterEvaluate { 
    project.tasks.withType(Test) { 
     systemProperties.put('robolectric.offline', 'true') 
     systemProperties.put('robolectric.dependency.dir', "${project.rootDir}/.robolectric/") 
    } 
} 

Sau đó, bạn cần phải tải về các lọ cần thiết từ maven hoặc sonatype và đặt nó trong thư mục mà bạn chỉ định ...

Tôi đã viết một blog post với thêm chi tiết.

+1

Tuyệt vời! Cám ơn vì đã chia sẻ. Đó là giải pháp thú vị nhưng tôi thích settings.xml hơn –

Các vấn đề liên quan