Minimal-size extending set in a directed graph

Let $G=(V,E)$ be a directed graph, i.e. $V$ is a finite set and $E\subseteq V\times V$.

We call a subset $J\subseteq V$ extending if for every $v\in V\setminus J$ there is a directed path from some vertex $j\in J$ to $v$.

Is there a polynomial-time algorithm to find an extending subset of minimal size?